def send_mail(subject, body, from_email, recipient_list, body_html=None, internal_sender_id=None): """ Simplified version of the send_mail function which queues e-mails in the mail queue """ mails = [] for recipient in recipient_list: new_message = MailerMessage() new_message.subject = subject new_message.to_address = recipient new_message.from_address = from_email new_message.content = body if body_html is not None: new_message.html_content = body_html if internal_sender_id is None: new_message.app = "selvbetjening" else: new_message.app = internal_sender_id new_message.save() mails.append(new_message) return mails
def send_email(to_address, subject, content, html_content, bcc_address=None, attachment=None, attachment2=None, attachment3=None): new_message = MailerMessage() new_message.subject = subject new_message.to_address = to_address if bcc_address: new_message.bcc_address = bcc_address new_message.from_address = settings.DEFAULT_FROM_EMAIL new_message.content = content new_message.html_content = html_content new_message.cc_address = settings.DEFAULT_CC_EMAIL if attachment: new_message.add_attachment(attachment) if attachment2: new_message.add_attachment(attachment2) if attachment3: new_message.add_attachment(attachment3) new_message.app = "our app name" new_message.save()
def dynamic_form_send_confirmation_email(form_model, form, advert, request): from django.template import Template, Context ctx = {"ad": advert, "advert": advert} if advert.confirmation_email_subject: subject = Template(advert.confirmation_email_subject).render(Context(ctx)) else: subject = advert.title if advert.confirmation_email: message = Template(advert.confirmation_email).render(Context(ctx)) else: message = render_to_string("dynamic_forms/confirmation_email.txt", ctx) new_message = MailerMessage() new_message.subject = subject new_message.to_address = form.cleaned_data["email"] new_message.bcc_address = ( "%s, [email protected]" % advert.advertiser.roof_contact ) # settings.DYNAMIC_FORMS_EMAIL_HIDDEN_RECIPIENTS new_message.reply_to = advert.advertiser.email new_message.from_address = "*****@*****.**" new_message.from_name = "Roof Media" new_message.content = "" new_message.html_content = message new_message.app = "dynamic_forms" new_message.save()
def send_email_visitor(self): # send email to requesting email # this method is called with cleaned from data subject = "Ihre Nachricht an mentoki" to = [self.cleaned_data['email']] from_mail = '*****@*****.**' # prepare template context = { 'name': self.cleaned_data['name'], 'email': self.cleaned_data['email'], 'message': self.cleaned_data['message'], 'betreff': "Ihre Nachricht", } message = get_template('email/contact/to_customer.html').render( Context(context)) to_customer = MailerMessage() to_customer.subject = "Ihre Nachricht an mentoki" to_customer.to_address = self.cleaned_data['email'] to_customer.from_address = ContactForm.CONTACT_EMAIL to_customer.content = ContactForm.OUTGOING to_customer.html_content = message to_customer.reply_to = ContactForm.CONTACT_EMAIL to_customer.app = self.__module__ to_customer.save()
def users_confirm_password_reset(request,key,id): user = User.objects.get(pk=id) password_reset_token_cleartext = user.email + user.password + str(user.id) password_reset_token = hashlib.sha1(password_reset_token_cleartext).hexdigest() if key == password_reset_token: new_password = get_random_string(length=10) user.set_password( new_password ) user.save() context = {'password': new_password, 'email': user.email, 'hostname': request.scheme + "://" + request.get_host(), } subject = render_to_string('ewtiusersite/email_users_confirm_password_reset/subject.txt', context) msg_text = render_to_string('ewtiusersite/email_users_confirm_password_reset/text.txt', context) new_message = MailerMessage() new_message.subject = subject new_message.to_address = user.email new_message.from_address = settings.EMAIL_SENDER_ADDRESS new_message.content = msg_text new_message.app = "EWTI Password Reset" new_message.save() return render_to_response('ewtiusersite/users_confirm_password_reset.html', {'hostname': request.scheme + "://" + request.get_host(), }, context_instance=RequestContext(request)) return HttpResponseRedirect(reverse('users_area'))
def send_mail(self, recipient, convention=None): if not convention: convention = self.trigger().convention context = Context({ 'recipient': recipient, 'convention': convention, }) subject_template = Template(self.subject) body_template = Template( '{body}\n-- \n{signature}'.format( body=self.body_text, signature=convention.mail_signature,) ) email_subject = subject_template.render(context) email_body = body_template.render(context) from mailqueue.models import MailerMessage new_message = MailerMessage() new_message.subject = email_subject new_message.to_address = recipient.email new_message.content = email_body new_message.app = "ticket system" new_message.save()
def dynamic_form_send_email(form_model, form, advert, request): mapped_data = form.get_mapped_data() ctx = {"form_model": form_model, "form": form, "data": sorted(mapped_data.items()), "ad": advert} if advert.notification_email_subject: subject = Template(advert.notification_email_subject).render(Context(ctx)) else: subject = _("Has recibido una nueva oportunidad de venta") if advert.notification_email: message = Template(advert.notification_email).render(Context(ctx)) else: message = render_to_string("dynamic_forms/notification_email.txt", ctx) new_message = MailerMessage() new_message.subject = subject new_message.to_address = advert.advertiser.email new_message.bcc_address = ( "%s, [email protected]" % advert.advertiser.roof_contact ) # settings.DYNAMIC_FORMS_EMAIL_HIDDEN_RECIPIENTS new_message.from_address = "*****@*****.**" new_message.from_name = "Roof Media" new_message.content = "" new_message.html_content = message new_message.app = "dynamic_forms" new_message.save()
def registration_invoice_finish(request): from invoice.models import Invoice from bookings.models import BookingLine from mailqueue.models import MailerMessage from survey.actions import MailSenderParticipantSurvey session_invoice_id = request.session['paid_invoice_id'] invoice = Invoice.objects.get(pk=session_invoice_id) receiver = invoice.address.billing_email survey_link = None billed_participant = invoice.billed_participant() context = {'handle': invoice.handle, 'number': invoice.number, 'hostname': request.scheme + "://" + request.get_host(), 'receiver' : receiver, 'billed_participant': billed_participant, } if not invoice.mail_sent_at: subject = render_to_string('ewtisite/email_invoice_paid/subject.txt', context) msg_text = render_to_string('ewtisite/email_invoice_paid/text.txt', context) #receiver = invoice.address.billing_email new_message = MailerMessage() new_message.subject = subject new_message.to_address = receiver new_message.from_address = settings.EMAIL_SENDER_ADDRESS new_message.bcc_address = settings.SHOP_NOTICE_MAILS_TO new_message.content = msg_text new_message.app = "EWTI Billing" new_message.save() entered_bookinglines = invoice.bookingline_set.all() for bl in entered_bookinglines: p = bl.participant ms = MailSenderParticipantSurvey() ms.context = { 'participant':p, 'hostname': request.scheme + "://" + request.get_host(), } ms.from_address = settings.EMAIL_SENDER_ADDRESS ms.bcc_address = settings.SHOP_NOTICE_MAILS_TO ms.to_address = p.email ms.send() invoice.mail_sent_at = datetime.now() invoice.save() return render(request, 'ewtisite/register_invoice_finish.html', context)
def create_mail_message(): """Here gives email subject , to_address email id , from_address email id , content of messaage , html_contennt of message""" new_message = MailerMessage() new_message.subject = "My Subject" new_message.to_address = "*****@*****.**" new_message.from_address = "*****@*****.**" new_message.content = "Mail content" new_message.html_content = "<h1>Mail Content</h1>" new_message.app = "this is test email please ignore." new_message.save()
def sendmail(singername, receiver, title, url, time): new_message = MailerMessage() new_message.subject = singername + "演唱會資訊 from Hiticket" new_message.to_address = receiver new_message.bcc_address = "" new_message.from_address = "*****@*****.**" new_message.content = "" new_message.html_content = "哈囉, 有新的一筆關於" + singername + "演唱會的資料如下:<br><br> \n\n 時間: " + time + "<br>\n Title: " + title + "<br>\n Link: " + url new_message.app = "Name of your App that is sending the email." new_message.save()
def send_email(sender, instance, created, **kwargs): if instance.source != 2 and created: message = render_to_string('analytics/saleoportunity_email.txt', {'sopt': instance}) new_message = MailerMessage() new_message.subject = _('Has recibido una nueva oportunidad de venta') new_message.to_address = instance.ad.advertiser.email new_message.from_address = '*****@*****.**' new_message.from_name = 'Roof Media' new_message.html_content = message new_message.app = "analytics" new_message.save()
def create_mail_message(request): new_message = MailerMessage() new_message.subject = "My Subject" new_message.to_address = "*****@*****.**" new_message.bcc_address = "*****@*****.**" new_message.from_address = "*****@*****.**" new_message.content = "Mail content" new_message.html_content = "<h1>Mail Content</h1>" new_message.app = "Name of your App that is sending the email." new_message.save() return render(request, 'index.html')
def _setup_email(self): msg = MailerMessage() msg.from_address = self.from_address msg.to_address = self._get_formatted_recipients(self.to) if self.cc: msg.cc_address = self._get_formatted_recipients(self.cc) full_bcc = self._get_bcc_with_debugging_copy() if full_bcc: msg.bcc_address = self._get_formatted_recipients(full_bcc) msg.subject = self.get_rendered_subject() msg.html_content = self.get_rendered_html_body() msg.content = self.get_plain_text_body() msg.app = self.mail.text_identifier return msg
def send(self): self.prepare_content() subject = self.content['Mailsubject'] msg_text = self.content['Mailtext'] new_message = MailerMessage() new_message.subject = subject new_message.to_address = self.to_address new_message.from_address = self.from_address if self.bcc_address: new_message.bcc_address = self.bcc_address new_message.content = msg_text new_message.app = "EWTI Survey Invitation" new_message.save()
def send_mail(subject, message, to, sender='*****@*****.**'): """ Send an email :param subject: String subject of the email :param message: Text body of the email :param to: String email receiver :param sender: String email sender """ mail = MailerMessage() mail.subject = subject mail.to_address = to mail.from_address = sender mail.html_content = message mail.app = 'Appetments' mail.save()
def get_email(self, request): from mailqueue.models import MailerMessage new_message = MailerMessage() new_message.subject = "oui c'est bien ce mail ..." new_message.to_address = "*****@*****.**" #new_message.bcc_address = "*****@*****.**" new_message.from_address = "*****@*****.**" new_message.content = "Mail content" new_message.html_content = "<h1>Mail Content</h1>" new_message.app = "Name of your App that is sending the email." new_message.save() return Response(new_message.html_content)
def dynamic_form_send_download_email(form_model, form, advert, request): from content.models import DownloadLink import hashlib import random salt2 = "".join(["{0}".format(random.randrange(10)) for i in range(10)]) key = hashlib.md5("{0}{1}".format(salt2, advert.file.name)).hexdigest() src = "/".join([settings.MEDIA_ROOT, advert.file.name]) download_root = os.path.join(settings.MEDIA_ROOT, "downloads") download_url = os.path.join(settings.MEDIA_URL, "downloads") dst = os.path.join(download_root, key + ".pdf") dst_url = os.path.join(download_url, key + ".pdf") link = DownloadLink(key=key, ad=advert, url=dst_url, filepath=dst) site_url = request.build_absolute_uri("/") dl_url = site_url[:-1] + dst_url request.META["DL_URL"] = dl_url ctx = {"dl_url": dl_url, "ad": advert} if advert.confirmation_email_subject: subject = Template(advert.confirmation_email_subject).render(Context({"ad": advert})) else: subject = _("Descarga: “%(advert)s”") % {"advert": advert.title} if advert.confirmation_email: message = Template(advert.confirmation_email).render(Context(ctx)) else: message = render_to_string("dynamic_forms/download_email.txt", ctx) new_message = MailerMessage() new_message.subject = subject new_message.to_address = form.cleaned_data["email"] new_message.bcc_address = ( "%s, [email protected]" % advert.advertiser.roof_contact ) # settings.DYNAMIC_FORMS_EMAIL_HIDDEN_RECIPIENTS new_message.reply_to = advert.advertiser.email new_message.from_address = "*****@*****.**" new_message.from_name = "Roof Media" new_message.content = "" new_message.html_content = message new_message.app = "dynamic_forms" new_message.save() link.save() if not os.path.isdir(os.path.dirname(dst)): os.makedirs(os.path.dirname(dst)) os.symlink(src, dst)
def send_contact_email(contact): to_address = settings.CONTACTS_EMAILS from_address = contact.email content = render_to_string("contacts/email_contact.txt", {'contact': contact}) subject = render_to_string("contacts/email_contact_subject.txt", {'contact': contact}) try: from mailqueue.models import MailerMessage msg = MailerMessage() msg.subject = subject msg.to_address = ", ".join(to_address) msg.from_address = from_address msg.content = content msg.app = 'Contacto' msg.send_mail() except ImportError: from django.core.mail import EmailMultiAlternatives msg = EmailMultiAlternatives(subject, content, from_address, to_address) msg.send()
def test_mail_sending(self): from mailqueue.models import MailerMessage new_message = MailerMessage() new_message.subject = "Your test worked." new_message.to_address = os.environ['EMAIL_TEST_RECIPIENT'] # if using Google SMTP, the actual from address will be settings.EMAIL_HOST_USER new_message.from_address = "*****@*****.**" new_message.content = "Your mail was successfully transmitted at {} Z".format(datetime.datetime.utcnow()) # Note: HTML content supersedes plain content on Google messages new_message.html_content = "<h1>This is HTML Mail Content</h1><br>{}".format(new_message.content) new_message.app = "SAM Reports" new_message.save() assert True # always passes if it does not crash
def send_email_by_favorite_story(sender, instance, created, **kwargs): if created: from django.template.loader import render_to_string subject = _('Han marcado como favorita una de tus historias') + ' - ' + 'Leyere.com' from_address = settings.EMAIL_DEFAULT to_address = instance.follow_object.user.email content = render_to_string("actstream/email/email_favorite.txt", {'favorite': instance}) try: from mailqueue.models import MailerMessage msg = MailerMessage() msg.subject = subject msg.to_address = to_address msg.from_address = from_address msg.content = content msg.app = 'Favorite Story' msg.send_mail() except ImportError: from django.core.mail import EmailMultiAlternatives msg = EmailMultiAlternatives(subject, content, from_address, to_address) msg.send()
def test_mail_sending(self): from mailqueue.models import MailerMessage new_message = MailerMessage() new_message.subject = "Your test worked." new_message.to_address = os.environ['EMAIL_TEST_RECIPIENT'] # if using Google SMTP, the actual from address will be settings.EMAIL_HOST_USER new_message.from_address = "*****@*****.**" new_message.content = "Your mail was successfully transmitted at {} Z".format( datetime.datetime.utcnow()) # Note: HTML content supersedes plain content on Google messages new_message.html_content = "<h1>This is HTML Mail Content</h1><br>{}".format( new_message.content) new_message.app = "SAM Reports" new_message.save() assert True # always passes if it does not crash
def send_email_by_comment(sender, instance, created, **kwargs): if created: if instance.user.profile.email_comment: from django.template.loader import render_to_string subject = _('Nuevo Comentario') + ' - ' + 'Leyere.com' from_address = settings.EMAIL_DEFAULT to_address = instance.user_email content = render_to_string("comments/email/email_comment.txt", {'comment': instance}) try: from mailqueue.models import MailerMessage msg = MailerMessage() msg.subject = subject msg.to_address = to_address msg.from_address = from_address msg.content = content msg.app = 'Comment' msg.send_mail() except ImportError: from django.core.mail import EmailMultiAlternatives msg = EmailMultiAlternatives(subject, content, from_address, to_address) msg.send()
def send_announcement(announcement, courseevent, module): """ Send an announcement: it is send to the teachers and the particpants. Mentoki is set on CC. Sending uses django-mailqueue, so that send out emails are als stored in the database. """ participants_emails = \ list(CourseEventParticipation.objects.learners_emails(courseevent=courseevent)) teachers_emails = \ list(CourseOwner.objects.teachers_emails(course=courseevent.course)) all_emails = participants_emails + teachers_emails send_all = ", ".join(all_emails) context = { 'site': Site.objects.get_current(), 'courseevent': courseevent, 'announcement': announcement, 'owners': courseevent.teachers, 'betreff': "Neue Nachricht von Mentoki %s" % courseevent.title } message = get_template('email/announcement/announcement.html').render( Context(context)) mail_message = MailerMessage() mail_message.subject = "Neue Nachricht von %s" % courseevent.title mail_message.bcc_address = settings.MENTOKI_COURSE_EMAIL mail_message.to_address = send_all mail_message.from_address = settings.MENTOKI_COURSE_EMAIL mail_message.content = "Neue Nachricht von %s and die Teilnehmer" % courseevent.title mail_message.html_content = message mail_message.reply_to = send_all mail_message.app = module mail_distributer = send_all logger.info("[%s] [Ankündigung %s %s]: als email verschickt an %s" % (courseevent, announcement.id, announcement, mail_distributer)) mail_message.save() return mail_distributer
def send_email_self(self): """ email is send to mentoki """ context = { 'name': self.cleaned_data['name'], 'email': self.cleaned_data['email'], 'message': self.cleaned_data['message'], 'betreff': "Nachricht an mentoki", } message = get_template('email/contact/to_mentoki.html').render( Context(context)) to_mentoki = MailerMessage() to_mentoki.subject = "Kontaktanfrage an mentoki" to_mentoki.to_address = ContactForm.CONTACT_EMAIL to_mentoki.from_address = self.cleaned_data['email'] to_mentoki.content = ContactForm.INTERNAL to_mentoki.html_content = message to_mentoki.reply_to = self.cleaned_data['email'] to_mentoki.app = self.__module__ to_mentoki.save()
def request_users_password_reset(request): sent_mail_message = None if request.POST: sent_mail_message = True email = request.POST['email'] try: user = User.objects.get(email=email) password_reset_token_cleartext = user.email + user.password + str(user.id) password_reset_token = hashlib.sha1(password_reset_token_cleartext).hexdigest() context = {'key': password_reset_token, 'id': user.id, 'hostname': request.scheme + "://" + request.get_host(), } subject = render_to_string('ewtiusersite/email_request_password_reset/subject.txt', context) msg_text = render_to_string('ewtiusersite/email_request_password_reset/text.txt', context) new_message = MailerMessage() new_message.subject = subject new_message.to_address = user.email new_message.from_address = settings.EMAIL_SENDER_ADDRESS new_message.content = msg_text new_message.app = "EWTI Password Reset" new_message.save() except ObjectDoesNotExist: pass return render_to_response('ewtiusersite/request_users_password_reset.html', {'sent_mail_message': sent_mail_message, 'hostname': request.scheme + "://" + request.get_host(), }, context_instance=RequestContext(request))
import sys, os sys.path.append(os.path.join(os.path.dirname(__file__) + '../', 'web')) os.environ.setdefault("DJANGO_SETTINGS_MODULE", "web.settings") from django.conf import settings from mailqueue.models import MailerMessage new_message = MailerMessage() new_message.subject = "My Subject" new_message.to_address = "*****@*****.**" new_message.bcc_address = "" new_message.from_address = "*****@*****.**" new_message.content = "Mail content" new_message.html_content = "<h1>Mail Content</h1>" new_message.app = "Name of your App that is sending the email." new_message.save()