美好的一天!
对不起,这么“清楚”的问题,让我解释一下。在我的“程序”中,我通过(例如)gmail SMTP服务器发送一些电子邮件。假设我发送的每封电子邮件在标题中都包含一些唯一ID(由我生成)。是否有机会,从gmail(例如,用python imaplib)检索消息后,我会再次获得该唯一ID(在标题中)?
谢谢发送邮件通过SMTP保证ID
回答
一般来说,MTA将保留您引入的任何消息标题。中继MTA都required to do so:
正如在6.4节讨论的,中继SMTP有没有需要检查或者在消息数据的报头部分或身体 行为,并不得 这样做,除了增加自己的“收到:“标题字段(第4.4节) ,并可选择尝试检测邮件系统中的循环(请参见 第6.3节)。当然,这种禁止也适用于这些头域或文本的任何 修改(另请参阅第7.9节)。
一般来说,接收MTA还会添加与消息接收,垃圾邮件检查,循环检测等相关的更多标题。所以是的,无论您使用哪个目标SMTP服务器,GMail或其他方式,您都几乎可以确保安全。
如果ID确实是唯一的,您可能需要考虑将它们用作your Message-ID
header value的一部分。使用Message-ID
用于此目的的好处是,当用户回复您的消息时,它们通常包括在其In-Reply-To
和/或References
头Message-ID
值:
“消息ID:”字段提供了一个独特的消息标识符 涉及特定消息的特定版本。消息标识符的唯一性由 生成的主机保证(见下文)。该消息标识符旨在是机器可读的并且不一定对人有意义。消息 标识符恰好属于特定消息的一个版本; 对邮件的后续修订每收到一个新邮件 标识符。
创建对消息的回复时使用“In-Reply-To:”和“References:”字段。它们保存原始消息的消息标识符和其他消息的消息标识符(例如,在回复本身是应答的消息的情况下,为 )。“In-Reply-To:”字段可用于标识新消息是回复的消息(或 消息),而“参考:”字段可用于标识以下消息的“线索”: 谈话。
我只是做了一些测试,看起来可能并且非常简单。
我使用Mail.php扩展来实现这种情况(应该没关系,但是)。我在发送消息之前添加了一个额外的标题(“Trevor”=>“我的测试”)。我在Gmail中收到邮件并做了一个“显示原始邮件”,其中包含标题。
然后我拉下这条消息(也通过PHP),并且头部包含我输入的自定义行。
- 1. 通过C#窗体发送smtp邮件?
- 2. 用phpmailer通过smtp发送邮件
- 3. 在Perl中通过SMTP发送邮件
- 4. 通过SMTP发送电子邮件
- 5. SMTP邮件发送
- 6. 试图通过发送邮件快捷邮件,Gmail的SMTP,PHP
- 7. 使用Java邮件通过Gmail SMTP发送邮件的问题
- 8. smtp服务器用于通过java邮件api发送邮件
- 9. 是否可以通过smtp通过bash脚本发送邮件?
- 10. 从Laravel通过Rackspace通过SMTP发送邮件
- 11. 用PHP发送HTML邮件SMTP认证
- 12. 用smtp发送邮件
- 13. SMTP:发送电子邮件
- 14. SMTP不发送HTML邮件
- 15. 发送邮件与SMTP SendAsync
- 16. SMTP发送优先邮件
- 17. 用SMTP发送Gmail邮件
- 18. SMTP电子邮件发送
- 19. 使用SMTP服务器通过电子邮件发送附件
- 20. 取消使用smtp发送邮件SMTP
- 21. PHP-发送不带邮件的SMTP验证邮件()
- 22. 通过联系表格发送邮件到电子邮件ID
- 23. 如何通过Java从任何邮件ID发送邮件?
- 24. 从id发送+的Asp.net邮件已被写入smtp用户ID
- 25. 通过Java和Postfix服务器发送SMTP邮件
- 26. 如何通过微软交换云用java发送smtp邮件
- 27. 通过SMTP使用PHPMailer发送电子邮件时出错
- 28. 通过GMail SMTP在REBOL 2中发送电子邮件
- 29. Windows Azure通过SMTP中继发送电子邮件
- 30. 在C#中使用BCC通过SMTP发送邮件