def create_message(template_name=None, to=None, subject=None, cc=None, bcc=None, from_email=None, **kwargs): if hasattr(to, 'primary_language') and to.primary_language: language = to.primary_language else: language = properties.LANGUAGE_CODE with TenantLanguage(language): c = ClientContext(kwargs) text_content = get_template( '{0}.txt'.format(template_name)).render(c) html_content = get_template( '{0}.html'.format(template_name)).render(c) args = dict(subject=subject, body=text_content, to=[to.email]) if cc: args['cc'] = cc if bcc: args['bcc'] = bcc # even if it's None args['from_email'] = from_email # Calling force_unicode on the subject below in case the subject # is being translated using ugettext_lazy. msg = EmailMultiAlternatives(**args) msg.activated_language = translation.get_language() msg.attach_alternative(html_content, "text/html") return msg
def create_message(template_name=None, to=None, subject=None, cc=None, bcc=None, from_email=None, reply_to=None, attachments=None, **kwargs): if hasattr(to, 'primary_language') and to.primary_language: language = to.primary_language else: language = properties.LANGUAGE_CODE # This is an exception to handle a Bookingcares.com language which # contains more languages than the rest of the platform if 'language' in kwargs: language = kwargs['language'] with TenantLanguage(language): ctx = ClientContext(kwargs) ctx['to'] = to # Add the recipient to the context text_content = get_template('{0}.txt'.format(template_name)).render( ctx.flatten()) html_content = get_template('{0}.html'.format(template_name)).render( ctx.flatten()) args = dict(subject=subject, body=text_content, to=[to.email]) if cc: args['cc'] = cc if bcc: args['bcc'] = bcc if reply_to: args['reply_to'] = [reply_to] # even if it's None args['from_email'] = from_email args['attachments'] = attachments # Calling force_unicode on the subject below in case the subject # is being translated using ugettext_lazy. msg = EmailMultiAlternatives(**args) msg.activated_language = translation.get_language() msg.attach_alternative(html_content, "text/html") return msg
def create_message(template_name=None, to=None, subject=None, cc=None, bcc=None, from_email=None, reply_to=None, **kwargs): if hasattr(to, 'primary_language') and to.primary_language: language = to.primary_language else: language = properties.LANGUAGE_CODE # This is an exception to handle a Bookingcares.com language which # contains more languages than the rest of the platform if 'language' in kwargs: language = kwargs['language'] with TenantLanguage(language): c = ClientContext(kwargs) text_content = get_template( '{0}.txt'.format(template_name)).render(c) html_content = get_template( '{0}.html'.format(template_name)).render(c) args = dict(subject=subject, body=text_content, to=[to.email]) if cc: args['cc'] = cc if bcc: args['bcc'] = bcc if reply_to: args['reply_to'] = [reply_to] # even if it's None args['from_email'] = from_email # Calling force_unicode on the subject below in case the subject # is being translated using ugettext_lazy. msg = EmailMultiAlternatives(**args) msg.activated_language = translation.get_language() msg.attach_alternative(html_content, "text/html") return msg