繁体   English   中英

如何在Google App Engine Mail API中添加自定义电子邮件标题

[英]How to add custom email headers in Google App Engine Mail API

我需要有关如何使用GAE的Mail API(Python)发送电子邮件时如何添加几个自定义电子邮件标头的帮助,例如Message-id,person-id等。

但是不知何故,我没有在文档中看到它: https : //cloud.google.com/appengine/docs/standard/python/refdocs/google.appengine.api.mail

我可以使用以下方法接收电子邮件并阅读自定义电子邮件标题:mail_message.original。 getitem ('mail_header')

但是我不知道如何发送带有自定义电子邮件标题的电子邮件。

这是我用来发送电子邮件的代码:

mail.send_mail(sender=sender_address,
               to="handsome_me@yahoo.com",
               subject="gwapo",
               body="Hi")

好像您错过了文档中的这一行:

PROPERTIES = set([['body','amp_html','sender','to','cc','bcc','attachments','headers,'html','reply_to','subject'])

您可以提供包含自定义标头列表的标headers参数。

从源头看, headers参数受以下限制:

  • 必须是一个命令
  • 所有值必须是字符串
  • 所有键必须为ASCII
  • 密钥应位于以下白名单中: Auto-SubmittedIn-Reply-ToList-IdList-UnsubscribeOn-Behalf-OfReferencesResent-DateResent-FromResent-To

恐怕您将无法使用AppEngine覆盖message-id因为它不在HEADERS_WHITELIST中。 我忘记了AppEngine的严重缺陷,您可能要检查第三方电子邮件服务 我使用过mailgun,只要它们以X-作为前缀,它们就可以允许任意标头(只需在有效负载中包含h:X-My-Arbitrary-Header )。 AppEngine文档中

使用第三方服务发送消息

Python 2.7 / 3.7 | Java 8/11 | PHP 5/7 | Ruby | Go 1.9 / 1.11 / 1.12 | Node.js App Engine上的Python 3.7应用程序可以使用第三方公司发送电子邮件,SMS消息或进行收发电话。 例如,您可能发送电子邮件以确认业务交易,确认用户帐户的创建或发送市场营销通信。

本页列出了一些公司的示例,这些公司为App Engine上的Python 3.7应用程序提供通信服务和客户端库。

注意:这些第三方公司提供的服务不在App Engine服务级别协议的涵盖范围内。

Mailgun

Mailgun提供了RESTful API和客户端库来发送电子邮件。 作为GCP项目用户,您每月的前30,000条消息是免费的。 有关其他消息和批量折扣的价格,请参阅注册页面上的每月定价计算器。

了解有关Mailgun的更多信息:

...

SendGrid

您可以使用SendGrid在App Engine上为电子邮件供电。 SendGrid可以提高您的可传递性,并使您的应用发送的那些电子邮件实际发生的事情透明化。 您可以使用SendGrid界面或其API查看有关打开,点击,退订,垃圾邮件报告等的统计信息。

App Engine客户可以通过Google Cloud Platform Console注册SendGrid电子邮件API计划,每月免费发送12,000封电子邮件。 请注意,对于注册付费帐户的客户,Google可获得补偿。

了解有关SendGrid的更多信息:

我与这些都不隶属,原始页面中提到了其他服务,我引用了mailgun是因为我已经使用过它并且知道它可以工作,并且引用了sendgrid是因为OP提到了它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM