Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Models.py
- from __future__ import unicode_literals
- from django.db import models
- from django.utils.translation import gettext as _
- # Create your models here.
- class EmailSetting(models.Model):
- email_use_tls = models.BooleanField(_(u'EMAIL_USE_TLS'), default=True)
- email_host = models.CharField(_(u'EMAIL_HOST'), max_length=1024)
- email_host_username = models.EmailField(_(u'EMAIL_HOST_USER'))
- email_host_password = models.CharField(_(u'EMAIL_HOST_PASSWORD'), max_length=255)
- email_port = models.PositiveSmallIntegerField(_(u'EMAIL_PORT'), default=587)
- def __unicode__(self):
- return self.email_host_username
- class EmailList(models.Model):
- email = models.EmailField(unique=True)
- full_name = models.CharField(max_length=120, blank=True, null=True)
- timestamp = models.DateTimeField(auto_now_add=True, auto_now=False)
- updated = models.DateTimeField(auto_now_add=False, auto_now=True)
- def __unicode__(self):
- return self.email
- class SendEmail(models.Model):
- select_email = models.ForeignKey(EmailList)
- **Views.py**
- def sendmail(request):
- if request.method == 'POST':
- form = SendEmailForm(request.POST)
- if form.is_valid():
- subject = form.cleaned_data['subject']
- message = form.cleaned_data['message']
- print subject
- print message
- e_list = EmailList.objects.all()
- # for i in e_list:
- # to_email = i.email
- try:
- #email =
- with get_connection(host=config.email_host,
- port=config.email_port,
- username=config.email_host_username,
- password=config.email_host_password,
- use_tls=config.email_use_tls,
- ) as connection:
- for i in e_list:
- to_email = i.email
- EmailMessage(subject=subject, body=message, from_email=config.email_host_username, to=[to_email], connection=connection).send(fail_silently=False)
- #email.send()
- print "success"
- except BadHeaderError:
- return HttpResponse('Invalid header format.')
- else:
- return HttpResponse('Make sure all fields are entered')
- else:
- form = SendEmailForm()
- form = SendEmailForm()
- return render(request,'newsletter/SendMail.html',{'form':form})
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement