答案 0 :(得分:2)
我刚刚对此进行了一些测试,它看起来很可能而且非常简单。
我使用Mail.php扩展来实现这一点(尽管如此)。在发送消息之前我添加了一个额外的标题(“Trevor”=>“我的测试”)。我在Gmail中收到了这封邮件并打了一个“显示原始内容”,其中包含标题。
然后我把这条消息拉下来(也是通过PHP),标题包含我输入的自定义行。
答案 1 :(得分:2)
通常,MTA会保留您引入的任何邮件标头。转发MTA是required to do so:
如第6.4节所述,中继SMTP无需检查或 作用于消息数据的标题部分或正文,并且不得 这样做除了添加自己的“Received:”标题字段(第4.4节) 并且,可选地,尝试检测邮件系统中的循环(参见 第6.3节)。当然,这个禁令也适用于任何 修改这些标题字段或文本(另见第7.9节)。
通常,接收MTA还将添加与消息接收,垃圾邮件检查,循环检测等相关的更多标头。所以是的,无论您使用哪个目标SMTP服务器,GMail或其他方式,您几乎肯定会安全。
如果ID确实是唯一的,您可以考虑将它们作为your Message-ID
header value的一部分使用。将Message-ID
用于此目的的好处是,当用户回复您的邮件时,他们通常会在Message-ID
和/或In-Reply-To
标题中包含References
值:< / p>
“Message-ID:”字段提供唯一的消息标识符 指特定消息的特定版本。该 消息标识符的唯一性由主机保证 生成它(见下文)。此消息标识符旨在 机器可读并且不一定对人类有意义。一个消息 标识符恰好与特定消息的一个版本有关; 对消息的后续修订每个都接收新消息 标识符
创建时使用“In-Reply-To:”和“References:”字段 回复邮件。它们保存原始的消息标识符 消息和其他消息的消息标识符(例如, 在回复本身就是回复的消息的情况下)。该 “In-Reply-To:”字段可用于标识消息(或 消息)新消息是一个回复,而 “引用:”字段可用于标识“线程” 会话。