将SendGrid的入站解析电子邮件访问到字典中
sendgrid_parse的Python项目详细描述
SendGrid入站解析电子邮件
将sendGrid的入站解析电子邮件解析为post参数中的字段字典。
解析api将post解析的电子邮件发送到 发送网格设置。如果post失败, SendGrid自动排队并 重试任何以4xx或5xx状态响应的帖子。 要防止邮件重新送达或排队,请用2xx回复。 在3天后无法传递的邮件将被删除。
见SendGrid documentation 更多细节。
post参数
post参数可从返回的字典中获得,并带有以下键:
- 邮件头:raw邮件头
- text:电子邮件的文本正文。 如果未设置,则电子邮件没有正文。
- html:电子邮件的html正文。 如果未设置,则电子邮件没有HTML正文。
- 发件人:邮件发件人来自邮件标题。
- 到:从邮件头获取的电子邮件收件人字段。
- cc:从邮件头获取的电子邮件cc字段。
- subject:电子邮件主题。
- dkim:包含任何 消息中的DKIM和域密钥签名。
- spf:发件人策略框架验证的结果 邮件发件人和接收IP地址。
- envelope:json包含smtp信封的字符串。
有两个变量:
- 到:包含接收地址的单个元素数组;
- from:返回消息的路径。
- charsets:json提取字段的字符集字符串。
- spam\u score:垃圾邮件刺客对这是否是spam的评分。
- spam_report:垃圾邮件刺客的垃圾邮件报告。
- 附件:包含电子邮件中按附件号排序的文件对象的列表。 如果可用,文件对象/流将附加到列表中。 如果没有可用的文件对象/流,则将附加附件字典键。 然后可以使用这些密钥访问附件。 键是以n为后缀的字符串attachment。 其中n在1…n中,n是附件的总数
- 附件信息:json包含附件x键的字符串 另一个json字符串作为值。 包含键filename,type(媒体类型)
- errors:所有错误都会被忽略,并作为字符串返回到字典中 其他的钥匙是谁的。因此,例如,解析subject时出现错误 mail['errors']['subject']
辅助工具
sendgrid_parse.helpers包含flask和django的实用程序 使用正确的请求变量访问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)