コード例 #1
0
ファイル: email_backend.py プロジェクト: repodevs/bluebottle
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
コード例 #2
0
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
コード例 #3
0
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