在使用EWS和创建邮件时,我遇到了一个关于此问题的问题。
我正在创建并将电子邮件保存到我的收件箱。
EmailMessage message = new EmailMessage(_exchangeService);
message.From = emailObject.SenderAddress;
message.Subject = emailObject.Subject;
message.Body = emailObject.Body
message.ToRecipients.Add(email);
message.CcRecipients.Add(emailObject.CC);
message.IsRead = false;
message.Save(WellKnownFolderName.Inbox);
现在的问题是,EWS正在以草稿形式创建电子邮件。
是否可以将邮件标记为收入邮件?
谢谢!
答案 0 :(得分:3)
您需要使用扩展属性在Message上设置PR_Message_Flags https://msdn.microsoft.com/en-us/library/ee160304(v=exchg.80).aspx属性,然后将该消息显示为已发送
ExtendedPropertyDefinition PR_MESSAGE_FLAGS = new ExtendedPropertyDefinition(3591, MapiPropertyType.Integer);
message.SetExtendedProperty(PR_MESSAGE_FLAGS, 1);
答案 1 :(得分:0)
替换此行:
message.Save(WellKnownFolderName.Inbox);
这一行:
message.Send();
这会将电子邮件放入您的Inbox
和SentItems
文件夹中。
然后您可以通过执行以下操作从SentItems
文件夹中删除它:
FindItemsResults<Item> findResults = service.FindItems(WellKnownFolderName.SentItems, view);
foreach (EmailMessage item in findResults)
{
PropertySet propertySet = new PropertySet(BasePropertySet.IdOnly);
item.Load(propertySet);
item.Delete(DeleteMode.HardDelete, true);
}
答案 2 :(得分:-1)
如果我告诉你你想把它送到你的十二岁吗?
System.Net.Mail.MailMessage message = new System.Net.Mail.MailMessage();
message.To.Add("recipient@bar.com");
message.Subject = "Important";
message.From = new System.Net.Mail.MailAddress("sender@bar.com");
message.Body = "Message";
System.Net.Mail.SmtpClient smtp = new System.Net.Mail.SmtpClient("your.exchange.instance.url");
try
{
smtp.Send(message);
}
catch (SmtpFailedRecipientException ex)
{
throw ex;
}