我正在尝试使用 SendGrid v3 API 发送电子邮件作为对上一个线程的回复。但它始终在 Outlook 中显示为新的电子邮件线程。我正在使用 “Message-ID”、“In-Reply-To”和“References” 字段,但它总是无法在单线程下显示。我在here引用此线程来设置标题。
SendGrid 文档没有指定 v3 是否支持回复上一个线程。任何实现电子邮件线程对话的方法都是值得赞赏的。
好的。我在这里找到了关键。我缺少 "<>" 尖括号,看起来 SendGrid 非常重视它。这就是标题部分的样子。
"headers": {
"Message-ID": "<[email protected]>",
"In-Reply-To": "<[email protected]>",
"References": "<[email protected]>"
}
检查标题值周围的尖括号。
A 正在努力解决同样的问题,所以这是我的解决方案概述 - 希望它有所帮助!
首先如何找到 Message-ID?
您可以在通过 SendGrid“发送”API 发送电子邮件时指定此项。示例 POST 调用的 JSON 正文可能如下所示:
{"personalizations":[{"to":[{"email":"[email protected]","name":"John Doe"}],"subject":"Email title"}],"content": [{"type": "text/plain", "value": "Heya!"}],"from":{"email":"[email protected]","name":"myname"},"reply_to":{"email":"[email protected]","name":"myname"},"headers": {
"Message-ID": "<[email protected]>"}}
坦率地说,我还不知道“Message-ID”结构或格式的限制,但您可以查看您收到的其他电子邮件中的示例,例如在 gmail 中“显示原始消息”>>“消息 ID”
现在,当您想要发送电子邮件作为对上一封邮件的回复时,您的 POST 调用的正文可能如下所示:
{"personalizations":[{"to":[{"email":"[email protected]","name":"John Doe"}],"subject":"Email title"}],"content": [{"type": "text/plain", "value": "This is my reply!"}],"from":{"email":"[email protected]","name":"myname"},"reply_to":{"email":"[email protected]","name":"myname"},"headers": {
"Message-ID": "<[email protected]>",
"In-Reply-To": "<[email protected]>",
"References": "<[email protected]>"}}
很高兴听到更多关于此的细节/想法!
附注我遇到了一些令人困惑的事情:
祝你好运!