Example #1
0
def send_contact_email(message, contact_email):
    subject = _('Contact message from %(sender)s') % {'sender': message.name}
    
    from_email = properties.CONTACT_EMAIL

    if not from_email:
        return

    # add the url to the backoffice
    lang_link = reverse('admin:contact_contactmessage_change', args=[message.id])
    
    # Strip language from reverse generated link
    m = re.match(r'(/[^/]*)(/.*$)', lang_link)

    try:
        link = m.groups()[1]
    except IndexError:
        link = lang_link

    ctx = ClientContext(
        {'message': message, 'link': link, 'site_url': tenant_url(),
         'site': tenant_site()})


    text_content = render_to_string('contact/contact.mail.txt',
                                    context_instance=ctx)
    html_content = render_to_string('contact/contact.mail.html',
                                    context_instance=ctx)

    msg = EmailMultiAlternatives(subject=subject, body=text_content,
                                 to=[contact_email], from_email=from_email)
    msg.attach_alternative(html_content, "text/html")

    msg.send()
Example #2
0
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
Example #3
0
def send_contact_email(message, contact_email):
    subject = _('Contact message from %(sender)s') % {'sender': message.name}
    from_email = properties.CONTACT_EMAIL

    if not from_email:
        return

    # add the url to the backoffice
    lang_link = reverse('admin:contact_contactmessage_change', args=[message.id])

    # Strip language from reverse generated link
    m = re.match(r'(/[^/]*)(/.*$)', lang_link)

    try:
        link = m.groups()[1]
    except IndexError:
        link = lang_link

    ctx = ClientContext(
        {'message': message, 'link': link, 'site_url': tenant_url(),
         'site': tenant_site()})

    text_content = render_to_string('contact/contact.mail.txt', context_instance=ctx)
    html_content = render_to_string('contact/contact.mail.html', context_instance=ctx)

    msg = EmailMultiAlternatives(subject=subject, body=text_content,
                                 to=[contact_email], from_email=from_email)
    msg.attach_alternative(html_content, "text/html")

    msg.send()
Example #4
0
def mail_project_funded_internal(project):
    # XXX This is most likely obsolete. Candidate for removal?
    context = ClientContext(
                       {'project': project,
                       'link': '/go/projects/{0}'.format(project.slug),
                       'site': tenant_url()})
    subject = "A project has been funded"
    text_content = get_template('project_funded_internal.mail.txt').render(context)
    html_content = get_template('project_funded_internal.mail.html').render(context)
    msg = EmailMultiAlternatives(subject=subject, body=text_content, to=['*****@*****.**'])
    msg.attach_alternative(html_content, "text/html")
    msg.send()
Example #5
0
def send_contact_email(message, contact_email):
    subject = _('Contact message from %(sender)s') % {'sender': message.name}
    from_email = message.email

    # add the url to the backoffice
    link = reverse('admin:contact_contactmessage_change', args=[message.id])

    ctx = ClientContext({'message': message, 'link': link, 'site_url': tenant_url(), 'site': tenant_site()})

    text_content = render_to_string('contact/contact.mail.txt', context_instance=ctx)
    html_content = render_to_string('contact/contact.mail.html', context_instance=ctx)


    msg = EmailMultiAlternatives(subject=subject, body=text_content, to=[contact_email], from_email=from_email)
    msg.attach_alternative(html_content, "text/html")
    msg.send()
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
Example #7
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