mirror of
https://github.com/pacnpal/django-anymail.git
synced 2025-12-20 03:41:05 -05:00
Docs: document AMPHTML
* Add general instructions for sending AMP Email with Django * Document ability of Amazon SES and SendGrid backends to send AMPHTML (via arbitrary alternative parts) * Add AMP Email row to ESP support table
This commit is contained in:
@@ -93,6 +93,11 @@ Limitations and quirks
|
||||
Amazon SES is one of the few ESPs that *does* support sending arbitrary alternative
|
||||
message parts (beyond just a single text/plain and text/html part).
|
||||
|
||||
**AMP for Email**
|
||||
Amazon SES supports sending AMPHTML email content. To include it, use
|
||||
``message.attach_alternative("...AMPHTML content...", "text/x-amp-html")``
|
||||
(and be sure to also include regular HTML and text bodies, too).
|
||||
|
||||
**Spoofed To header and multiple From emails allowed**
|
||||
Amazon SES is one of the few ESPs that supports spoofing the :mailheader:`To` header
|
||||
(see :ref:`message-headers`) and supplying multiple addresses in a message's `from_email`.
|
||||
@@ -252,7 +257,7 @@ message attributes.
|
||||
Amazon's templated email APIs don't support several features available for regular email.
|
||||
When :attr:`~anymail.message.AnymailMessage.template_id` is used:
|
||||
|
||||
* Attachments are not supported
|
||||
* Attachments and alternative parts (including AMPHTML) are not supported
|
||||
* Extra headers are not supported
|
||||
* Overriding the template's subject or body is not supported
|
||||
* Anymail's :attr:`~anymail.message.AnymailMessage.metadata` is not supported
|
||||
|
||||
@@ -43,6 +43,7 @@ Email Service Provider |Amazon SES| |Mailgun| |Mailje
|
||||
:attr:`~AnymailMessage.tags` Yes Yes Max 1 tag Yes Max 1 tag Yes Yes Max 1 tag
|
||||
:attr:`~AnymailMessage.track_clicks` No Yes Yes Yes Yes Yes No Yes
|
||||
:attr:`~AnymailMessage.track_opens` No Yes Yes Yes Yes Yes No Yes
|
||||
:ref:`amp-email` Yes Yes No No No Yes No Yes
|
||||
|
||||
.. rubric:: :ref:`templates-and-merge`
|
||||
---------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
@@ -237,6 +237,15 @@ Limitations and quirks
|
||||
|
||||
(Noted June, 2019 and December, 2019)
|
||||
|
||||
**Arbitrary alternative parts allowed**
|
||||
SendGrid is one of the few ESPs that *does* support sending arbitrary alternative
|
||||
message parts (beyond just a single text/plain and text/html part).
|
||||
|
||||
**AMP for Email**
|
||||
SendGrid supports sending AMPHTML email content. To include it, use
|
||||
``message.attach_alternative("...AMPHTML content...", "text/x-amp-html")``
|
||||
(and be sure to also include regular HTML and text bodies, too).
|
||||
|
||||
**No envelope sender overrides**
|
||||
SendGrid does not support overriding :attr:`~anymail.message.AnymailMessage.envelope_sender`
|
||||
on individual messages.
|
||||
|
||||
@@ -58,6 +58,34 @@ It's good practice to send equivalent content in your plain-text body
|
||||
and the html version.
|
||||
|
||||
|
||||
.. _amp-email:
|
||||
|
||||
.. rubric:: AMP Email
|
||||
|
||||
Django's :class:`~django.core.mail.EmailMultiAlternatives` also supports sending
|
||||
`AMP for email`_ content. Attach the AMP alternative with the MIME type
|
||||
:mimetype:`text/x-amp-html`. Add the AMPHTML first, before the regular html alternative,
|
||||
to keep the parts in the recommended order:
|
||||
|
||||
.. code-block:: python
|
||||
:emphasize-lines: 5-6
|
||||
|
||||
from django.core.mail import EmailMultiAlternatives
|
||||
|
||||
msg = EmailMultiAlternatives("Subject", "text body",
|
||||
"from@example.com", ["to@example.com"])
|
||||
msg.attach_alternative("<!doctype html><html amp4email data-css-strict>...",
|
||||
"text/x-amp-html")
|
||||
msg.attach_alternative("<!doctype html><html>...", "text/html")
|
||||
msg.send()
|
||||
|
||||
Not all ESPs allow AMPHTML (check the chart under :ref:`supported-esps`).
|
||||
If yours doesn't, trying to send AMP content will raise an
|
||||
:ref:`unsupported feature <unsupported-features>` error.
|
||||
|
||||
.. _AMP for Email: https://amp.dev/about/email/
|
||||
|
||||
|
||||
.. _sending-attachments:
|
||||
|
||||
Attachments
|
||||
|
||||
Reference in New Issue
Block a user