如何在Google App Engine Mail API中使用HTML

时间:2015-08-11 20:40:18

标签: python google-app-engine email

我目前正在为使用谷歌应用引擎的网站设置电子邮件验证。我希望用户点击验证链接,我还希望使用html和css设置电子邮件的样式。 所以我设置了我的python脚本。我有一个邮件objekt,我这样做:

   mail.send_mail(sender="...",
     to=".....",
     subject="Verification Mail"
     body="""
Dear ....
Thanks for signing up on example.com
Please click the link below to verify your email adress.
http://example.com/verifymail?email="""+adress+""""&hash="""+hash+"""
We hope you enjoy our platform.

   """)

现在这完全没问题。 但我想要的是在我的邮件中放置一个锚标记,如

<a href='http://example.com/verifymail?email="""+adress+""""&hash="""+hash+"""'>Verify Email</a>

但这样做会直接打印出邮件中的html源代码,而不是将其理解为HTML。 (它正确填写变量btw)。我还想在时事通讯中添加更多内容,但我想让它理解标签可以解决我的所有问题。

有没有解决方案?

1 个答案:

答案 0 :(得分:1)

您的电子邮件被解释为纯文本而不是HTML的原因是body被解释为纯文本。

为了将您的内容解释为HTML,您需要将html属性设置为电子邮件的HTML版本,即添加html="<h3>Hello World</h3>"之类的内容。查看官方API以供参考:https://cloud.google.com/appengine/docs/python/refdocs/google.appengine.api.mail

有关内容类型的更多背景信息:某些电子邮件客户端无法解释HTML消息,因此通常会将HTML和纯文本版本发送给用户以保证兼容性。这就是为什么电子邮件同时包含“纯文本”和“HTML”字段。