Microsoft graph api 如何将InternetMessageHeaders添加到回复邮件
我正在邮件上使用回复方法:Microsoft graph api 如何将InternetMessageHeaders添加到回复邮件,microsoft-graph-api,microsoft-graph-sdks,microsoft-graph-mail,Microsoft Graph Api,Microsoft Graph Sdks,Microsoft Graph Mail,我正在邮件上使用回复方法: var replyMessage= new Message { Body = new ItemBody { ContentType = BodyType.Html, Content = body }, InternetMessageHeaders = messageHeaders, ToRecipients = new List<Recipient>() { n
var replyMessage= new Message
{
Body = new ItemBody
{
ContentType = BodyType.Html,
Content = body
},
InternetMessageHeaders = messageHeaders,
ToRecipients = new List<Recipient>()
{
new Recipient
{
EmailAddress = new EmailAddress
{
Address = recipient
}
}
},
Attachments = attachments
};
graphClient.Me.Messages[replyToMessageId].Reply(replyMessage).Request().PostAsync();
var replyMessage=新消息
{
Body=新项目Body
{
ContentType=BodyType.Html,
内容=正文
},
InternetMessageHeaders=messageHeaders,
ToRecipients=新列表()
{
新收件人
{
EmailAddress=新的EmailAddress
{
地址=收件人
}
}
},
附件=附件
};
graphClient.Me.Messages[replyToMessageId].Reply(replyMessage.Request().PostAsync();
我的问题是-如何在回复中添加InternetMessageHeaders-上面没有添加头。但是,对SendMail使用相同的技术会设置属性
我尝试使用CreateReply,然后更新邮件-这也无法添加标题。您需要使用将回复邮件创建为草稿的方法。然后可以设置internet邮件标题。添加消息头后,您将发送它
//创建回复草稿
var message=wait graphClient.Me.Messages[replyToMessageId]
.CreateReply(replyMessage)
.Request()
.PostAsync();
var messageWithHeaders=新消息()
{
InternetMessageHeaders=messageHeaders
}
//在草稿上设置internet邮件标题。
等待graphClient.Me.Messages[message.Id].Request().UpdateAsync(messageWithHeaders);
//把汇票寄出去。
等待graphClient.Me.Messages[message.Id].Send().Request().PostAsync();
更新
将PatchAsync(messageWithHeaders)更改为UpdateAsync(messageWithHeaders)您如何验证标头不存在?您是在邮件从收件人端发送后、从您发送的邮件中还是在调试过程中检查邮件?我通过查看“已发送邮件”文件夹中的项目来检查标题。使用SendMail发送的电子邮件有标题,但使用Reply发送的电子邮件没有标题。是的,请查看该链接。在服务器发送邮件之前,不会添加邮件头。是-我正在查看已发送的邮件。已发送邮件中的邮件是邮件发送前的副本。如果您通过另一个电子邮件地址向自己发送其中一条消息,您应该会看到标题。检查该链接;很清楚,你试过这个吗?当我尝试它时,它不起作用。@ScottDurow我修复了使用UpdateSync的示例。