Ejemplo n.º 1
0
    def test_template(self):
        message = AnymailMessage(
            template_id=
            1,  # There is a template with this id in the Anymail test account
            to=[
                "*****@*****.**"
            ],  # SendinBlue doesn't allow recipient display names with templates
            reply_to=["*****@*****.**"],
            tags=["using-template"],
            headers={"X-Anymail-Test": "group: A, variation: C"},
            merge_global_data={
                # The Anymail test template includes `%SHIP_DATE%` and `%ORDER_ID%` variables
                "SHIP_DATE": "yesterday",
                "ORDER_ID": "12345",
            },
            metadata={
                "customer-id": "ZXK9123",
                "meta2": 2
            },
        )
        message.from_email = None  # Required for SendinBlue templates

        message.attach("attachment1.txt", "Here is some\ntext for you",
                       "text/plain")

        message.send()
        self.assertEqual(message.anymail_status.status,
                         {'queued'})  # SendinBlue always queues
        self.assertRegex(message.anymail_status.message_id, r'\<.+@.+\>')
Ejemplo n.º 2
0
def send_reset_password(email, token):
    message = AnymailMessage(to=[email], )
    # Anymail extra attributes:
    message.template_id = 1  # use this Sendinblue template
    message.from_email = None  # to use the template's default sender
    message.merge_global_data = {
        'token': str(token),
    }
    message.send()
 def test_stored_template(self):
     message = AnymailMessage(
         template_id=
         '176375',  # ID of the real template named 'test-template' in our Mailjet test account
         to=["*****@*****.**"],
         merge_data={'*****@*****.**': {
             'name': "Test Recipient",
         }},
         merge_global_data={
             'order': '12345',
         },
     )
     message.from_email = None  # use the template's sender email/name
     message.send()
     recipient_status = message.anymail_status.recipients
     self.assertEqual(recipient_status['*****@*****.**'].status, 'sent')
 def test_stored_template(self):
     message = AnymailMessage(
         template_id='176375',  # ID of the real template named 'test-template' in our Mailjet test account
         to=["*****@*****.**"],
         merge_data={
             '*****@*****.**': {
                 'name': "Test Recipient",
             }
         },
         merge_global_data={
             'order': '12345',
         },
     )
     message.from_email = None  # use the template's sender email/name
     message.send()
     recipient_status = message.anymail_status.recipients
     self.assertEqual(recipient_status['*****@*****.**'].status, 'sent')
Ejemplo n.º 5
0
def send_email(subject,
               body,
               recipient_list,
               from_email=settings.DEFAULT_FROM_EMAIL,
               html_body=None,
               tags=None,
               fail_silently=False):
    message = AnymailMessage(subject=subject, body=body, to=recipient_list)

    message.from_email = from_email

    if html_body:
        message.attach_alternative(html_body, 'text/html')

    # Tags can then be found and filtered in the ESP's analytics dashboard
    if tags:
        message.tags = tags

    message.send(fail_silently=fail_silently)
Ejemplo n.º 6
0
def send_email_with_template(recipient_list,
                             template_id,
                             data=None,
                             tags=None,
                             fail_silently=False):
    """Use the "template" feature provided by our ESP"""
    message = AnymailMessage(to=recipient_list)
    message.template_id = template_id
    message.from_email = None  # use the template's default sender

    # Tags can then be found and filtered in the ESP's analytics dashboard
    if tags:
        message.tags = tags

    # Provide data for template replacements
    if data:
        # Currently working with Sendinblue
        message.merge_global_data = data

    message.send(fail_silently=fail_silently)