我想在发送电子邮件后获取电子邮件的 ConversationId。 我正在使用 Microsoft Exchange Web 服务包发送电子邮件。
using Microsoft.Exchange.WebServices.Data;
ExchangeService service = new ExchangeService(ExchangeVersion.Exchange2013_SP1);
service.UseDefaultCredentials = false;
service.Credentials = new WebCredentials('*****', '*****');
service.TraceEnabled = true;
service.TraceFlags = TraceFlags.All;
service.AutodiscoverUrl(emailExist.Email, RedirectionUrlValidationCallback);
EmailMessage emailMessage = new EmailMessage(service);
emailMessage.From = "<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="2c4d4e4f486c545556024f4341" rel="noreferrer noopener nofollow">[email protected]</a>";
emailMessage.Subject = "testing email";
emailMessage.Body = new MessageBody(BodyType.HTML, "<b>Hello</b> World");
if (!string.IsNullOrEmpty(email.To))
{
var toArr = email.To.Split(',');
foreach (var toAddress in toArr)
{
emailMessage.ToRecipients.Add(toAddress.Trim());
}
}
// Send message and save copy by default to sentItems folder
emailMessage.SendAndSaveCopy();
最佳答案
在 EWS 中,发送是异步的,因此您无法取回刚刚在发送方法中发送的消息的 ID。如果您在发送消息之前先将消息保存为草稿,则应填充消息和 CoversationId 的例如
EmailMessage em = new EmailMessage(service);
em.Subject = "Test"
em.Save();
em.Load();
Console.WriteLine(em.ConversationId.UniqueId);
关于c# - 发送电子邮件后如何通过 EWS 获取电子邮件 ConversationId,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66999988/