回复电子邮件,查看旧电子邮件 content/reference。我必须手动添加吗?

Reply to email, see old email content/reference. Do I have to add it manually?

我正在取消 zend-mail 回复电子邮件和 laravel-imap 检索电子邮件。

我发现如果我想获得reply/answer链,我需要设置电子邮件headers In-Reply-ToReferences

我通过网页界面进行了测试。我发送 3 emails/replies。如果我使用 laravel-imap 访问最近的电子邮件,它看起来像这样:

我刚刚得到 HTML body。块引用已经存在。 相关的 header 数据如下所示:

in_reply_to: "<384147642.238334.1576579700275@ox.hosteurope.de>"
message_id: "<320022621.238341.1576579713511@ox.hosteurope.de>"
references: "<1031599702.238330.1576579685138@ox.hosteurope.de> <384147642.238334.1576579700275@ox.hosteurope.de>"

现在我在我的应用程序中做同样的事情。我使用 zend-mail 到 send/reply 来发送电子邮件。但是如果我得到 HTML body 我只会看到:

Web 2

在我的例子中,相关的 header 数据看起来也是正确的:

in_reply_to: "<59b58fd747e1155deb1f3ab9b8050607b6e52897@localhost.eu>"
message_id: "<e17eadb481c0c538289a8bf3190da409f3ede695@localhost.eu>"
references: "<bccc37f17dc69b9811ed59c75b3e466d08b1a9d5@localhost.eu> <59b58fd747e1155deb1f3ab9b8050607b6e52897@localhost.eu>"

所以我的问题在哪里?我记得读过 HTML body 如果设置了引用,则会自动创建引用,在我的例子中就是这样。

或者如果我回复电子邮件,我应该手动将引用电子邮件的内容附加到文本区域吗?

In-Reply-ToReferences headers 是为了方便电子邮件客户端将相关电子邮件分组为主题或对话。回复客户端将它们放在那里以将电子邮件链接在一起。这些 headers 在 RFC 2822 § 3.6.4 中描述。

body 中引用的文本由回复客户端放置在那里,以方便人类 reader。它不是自动的1,也没有标准。

1 无论如何不适用于 IMAP、POP3 和 SMTP。某些专有协议(例如 Exchange Active Sync)可能包含“智能回复”功能,该功能将代表客户端完成一些工作。