将SendGrid的入站解析电子邮件访问到字典中

sendgrid_parse的Python项目详细描述


SendGrid入站解析电子邮件

将sendGrid的入站解析电子邮件解析为post参数中的字段字典。

解析api将post解析的电子邮件发送到 发送网格设置。如果post失败, SendGrid自动排队并 重试任何以4xx5xx状态响应的帖子。 要防止邮件重新送达或排队,请用2xx回复。 在3天后无法传递的邮件将被删除。

SendGrid documentation 更多细节。

post参数

post参数可从返回的字典中获得,并带有以下键:

  • 邮件头raw邮件头
  • text:电子邮件的文本正文。 如果未设置,则电子邮件没有正文。
  • html:电子邮件的html正文。 如果未设置,则电子邮件没有HTML正文。
  • 发件人:邮件发件人来自邮件标题。
  • :从邮件头获取的电子邮件收件人字段。
  • cc:从邮件头获取的电子邮件cc字段。
  • subject:电子邮件主题。
  • dkim:包含任何 消息中的DKIM和域密钥签名。
  • spf:发件人策略框架验证的结果 邮件发件人和接收IP地址。
  • envelopejson包含smtp信封的字符串。 有两个变量:
    1. :包含接收地址的单个元素数组;
    2. from:返回消息的路径。
  • charsetsjson提取字段的字符集字符串。
  • spam\u score:垃圾邮件刺客对这是否是spam的评分。
  • spam_report:垃圾邮件刺客的垃圾邮件报告。
  • 附件:包含电子邮件中按附件号排序的文件对象的列表。 如果可用,文件对象/流将附加到列表中。 如果没有可用的文件对象/流,则将附加附件字典键。 然后可以使用这些密钥访问附件。 键是以n为后缀的字符串attachment。 其中n在1…n中,n是附件的总数
  • 附件信息json包含附件x键的字符串 另一个json字符串作为值。 包含键filenametype(媒体类型)
  • errors:所有错误都会被忽略,并作为字符串返回到字典中 其他的钥匙是谁的。因此,例如,解析subject时出现错误 mail['errors']['subject']

辅助工具

sendgrid_parse.helpers包含flaskdjango的实用程序 使用正确的请求变量访问post数据和附件的。 这些是parse方法周围的包装器 并且除了命名和访问约定之外,不包含任何特定的框架。

用法

该包在sendgrid_parse下可用。

# installpipinstallsendgrid_parse# plain python (args: POST dictionary, files dictionary)fromsendgrid_parseimportparsemail=parse(post_dict,file_dict)# for flaskfromsendgrid_parse.helpers.flaskimportparse# for djangofromsendgrid_parse.helpers.djangoimportparsemail=parse(request)

GitHub存储库

sendgrid_parse

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java Android应用程序在后台   如何使用java减去日期。sql。时间戳   在Eclipse中使用Tomcat和Maven的java抛出错误   java Runnable jar什么都不做,资源不导出   并发Java内存模型:volatiles和读/写重新排序   使用Morphia在MongoDB中进行java批量升级。可能吗?   java将自己创建的sqlite数据库复制到安卓失败   在java中使用嵌套循环解决消除?   地图上多个标记的java实时动画   java如何在J2EE web应用程序中从服务层调用DAO方法   java我只想浏览文件,并将其作为电子邮件中的文件。我应如何附加:   猜猜我在think Java中的数字是57   可以在java流中的groupingBy中使用foreach吗?   我的Java程序编译时没有任何错误,但不会完全运行