0

我在消息上使用回复方法:

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();

我的问题是 - 我如何在回复中添加 InternetMessageHeaders - 上面没有添加标题。但是,对 SendMail 使用相同的技术确实设置了属性。

我尝试使用 CreateReply 然后更新消息 - 这也无法添加标题。

4

1 回答 1

0

您将需要使用CreateReply方法将回复邮件创建为草稿。然后您可以设置互联网消息标头。添加邮件标头后,您将其发送。

// Create reply draft
var message = await graphClient.Me.Messages[replyToMessageId]
                               .CreateReply(replyMessage)
                               .Request()
                               .PostAsync();
var messageWithHeaders = new Message()
{
   InternetMessageHeaders = messageHeaders
}

// Set the internet message headers on the draft.
await graphClient.Me.Messages[message.Id].Request().UpdateAsync(messageWithHeaders);

// Send the draft.
await graphClient.Me.Messages[message.Id].Send().Request().PostAsync();

更新 将 PatchAsync(messageWithHeaders) 更改为 UpdateAsync(messageWithHeaders)

于 2019-11-21T18:35:10.750 回答