def send_html_mail(subject, message, message_html, from_email, recipient_list, priority="medium", fail_silently=False, auth_user=None, auth_password=None): """ Function to queue HTML e-mails """ from mailer.models import Message priority = PRIORITY_MAPPING[priority] # need to do this in case subject used lazy version of ugettext subject = str(subject) for to_address in recipient_list: Message(to_address=to_address, from_address=from_email, subject=subject, message_body=message, message_body_html=message_html, priority=priority).save()
def send_mail(subject, message, from_email, recipient_list, priority="medium", fail_silently=False, auth_user=None, auth_password=None): from django.utils.encoding import force_unicode from mailer.models import Message from mailer import PRIORITY_MAPPING priority = PRIORITY_MAPPING[priority] # need to do this in case subject used lazy version of ugettext subject = force_unicode(subject) message = force_unicode(message) if len(subject) > 100: subject = u"%s..." % subject[:97] for to_address in recipient_list: message = Message(to_address=to_address, from_address=from_email, subject=subject, message_body=message, priority=priority) message.save() return message
def send_mail(subject, message, from_email, recipient_list, priority="medium", fail_silently=False, auth_user=None, auth_password=None, headers={}, attachments=None): """ Function to queue e-mails """ from django.utils.encoding import force_text from django.core.mail import EmailMessage from mailer.models import Message, PRIORITY_MAPPING priority = PRIORITY_MAPPING[priority] subject = force_text(subject) message = force_text(message) email_obj = EmailMessage(subject=subject, body=message, from_email=from_email, to=recipient_list, attachments=attachments, headers=headers) db_msg = Message(priority=priority, subject=subject) db_msg.email = email_obj db_msg.set_recipients(recipient_list) db_msg.save() return db_msg return 1
def send_mail(subject, message, from_email, recipient_list, priority="medium", fail_silently=False, auth_user=None, auth_password=None): from mailer.models import Message priority = PRIORITY_MAPPING[priority] # need to do this in case subject used lazy version of ugettext subject = str(subject) message = str(message) if len(subject) > 100: subject = "%s..." % subject[:97] for to_address in recipient_list: Message(to_address=to_address, from_address=from_email, subject=subject, message_body=message, priority=priority).save()
def send_messages(self, email_messages): num_sent = 0 for email in email_messages: msg = Message() msg.email = email msg.save() num_sent += 1 return num_sent
def send_messages(self, email_messages): db_messages = [] for email in email_messages: msg = Message() msg.email = email db_messages.append(msg) Message.objects.bulk_create(db_messages) return len(db_messages)
def send_messages(self, email_messages): # allow for a custom batch size MESSAGES_BATCH_SIZE = getattr(settings, "MAILER_MESSAGES_BATCH_SIZE", None) messages = Message.objects.bulk_create( [Message(email=email) for email in email_messages], MESSAGES_BATCH_SIZE) return len(messages)
def send_messages(self, email_messages): num_sent = 0 subject_prefix = getattr(settings, 'MAILER_EMAIL_SUBJECT_PREFIX', None) for email in email_messages: if subject_prefix: email.subject = u'%s %s' % (_(subject_prefix), email.subject) msg = Message() msg.email = email msg.save() num_sent += 1 return num_sent
def mail_managers(subject, message, fail_silently=False, priority="medium"): from django.utils.encoding import force_unicode from django.conf import settings from mailer.models import Message priority = PRIORITY_MAPPING[priority] for name, to_address in settings.MANAGERS: Message(to_address=to_address, from_address=settings.SERVER_EMAIL, subject=settings.EMAIL_SUBJECT_PREFIX + force_unicode(subject), message_body=message, priority=priority).save()
def send_html_mail(subject, message, message_html, from_email, recipient_list, priority='medium', fail_silently=False, auth_user=None, auth_password=None, headers=None, attachments=None, content_object=None, tag=None, reply_to_list=None): """ Function to queue HTML e-mails """ from django.utils.encoding import force_text from django.core.mail import EmailMultiAlternatives from mailer.models import Message, PRIORITY_MAPPING headers = headers or {} priority = PRIORITY_MAPPING[priority] # need to do this in case subject used lazy version of ugettext subject = force_text(subject) message = force_text(message) message_html = force_text(message_html) email_obj = EmailMultiAlternatives(subject=subject, body=message, from_email=from_email, to=recipient_list, attachments=attachments, headers=headers, reply_to=reply_to_list) email_obj.attach_alternative(message_html, 'text/html') db_msg = Message(priority=priority, subject=subject, content_object=content_object, tag=tag) db_msg.email = email_obj db_msg.set_recipients(recipient_list) db_msg.set_reply_to(reply_to_list) db_msg.save() return db_msg
def mail_admins(subject, message, fail_silently=False, priority="medium"): from django.conf import settings from mailer.models import Message priority = PRIORITY_MAPPING[priority] subject = settings.EMAIL_SUBJECT_PREFIX + str(subject) message = str(message) if len(subject) > 100: subject = "%s..." % subject[:97] for name, to_address in settings.ADMINS: Message(to_address=to_address, from_address=settings.SERVER_EMAIL, subject=subject, message_body=message, priority=priority).save()