I am trying to understand what is AMP Email and also understand how I can send it from something like Pyhton/NodeJs/Ruby.
Currently in Python I send email as below:
import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
from = "[email protected]"
to = "[email protected]"
msg = MIMEMultipart('alternative')
msg['Subject'] = "AMP Email"
msg['From'] = from
msg['To'] = to
#Email body.
plain_text = "Hi,\nThis is the plain text version of this Email.\nHere is a link that is for testing:\nhttps://amp.dev/documentation/guides-and-tutorials/start/create_email/?format=email"
html_amp = """\
<html amp4email>
<head>
<meta charset="utf-8">
<script async src="https://cdn.ampproject.org/v0.js"></script>
<style amp4email-boilerplate>body{visibility:hidden}</style>
<style amp-custom>
h1 {
margin: 1rem;
}
</style>
</head>
<body>
<p>Hi!<br>
<h1>Hello, I am an AMP EMAIL!</h1>
</p>
</body>
</html>
"""
part1 = MIMEText(plain_text, 'plain')
part2 = MIMEText(html_amp, 'html')
msg.attach(part1)
msg.attach(part2)
s = smtplib.SMTP('localhost')
s.sendmail(me, you, msg.as_string())
s.quit()
The above approach however isn't working.
I am trying to understand:
- What is the key advantage AMP brings to Email?
- How is it technically different?
- Can everyone send AMP Mail?
- Does it have any difference from normal emails?
I think you are almost there. You seem to not have fully understand what AMP Email is. A quick corrected version of your code will be as below, you have given AMP content in html mimetype:
To answer your questions:
In-Short:
AMP for Email lets email senders use AMP in their email messages to support many new features. AMP Email can contain interactive elements, like image carousels, updated contact via API, and the ability to submit a form without leaving the inbox.
Technical Difference from HTML Email:
AMP email is just an extension of a normal HTML email, which is a multipart MIME message. Most of the email you send or receive on Gmail, Outlook etc are multipart MIME messages, even though you may not be aware. It means, the email consists of multiple parts. Usually a text part and an HTML part.
Support:
Most desktop & web based email readers are HTML-capable and display the HTML part of the multipart message. However, some mobile readers might be limited and display only the text part of the multipart MIME message. With the advent of AMP, now’ll have one more part that is the AMP part. Email readers that has capability to support AMP will pick that part and rest will fall back to the HTML version. Gmail, Outlook, Yahoo & Mail.ru has already announced support for AMP Email.
Example: (An example AMP Email will look as below)
Key points to keep in mind: