【发布时间】:2019-09-04 06:16:41
【问题描述】:
我正在尝试将原始电子邮件作为附件附加到将发送出去的新电子邮件。
我遇到了以下错误:
消息:您必须先加载或分配此属性,然后才能 读取它的值。内部异常:堆栈跟踪:在 Microsoft.Exchange.WebServices.Data.PropertyBag.get_Item(PropertyDefinition 属性定义)在 Microsoft.Exchange.WebServices.Data.EmailMessage.get_Sender() 在 Service1.Email.SendUpdateEmail(EmailMessage 电子邮件,字符串 caseNumber, String autoDiscoverUrl) 在 C:\trunk\SRC\Email.cs:line 160
下面是我的代码:
public static void SendUpdateMail(EmailMessage email, string caseNumber, string autoDiscoverUrl)
{
ExchangeService service = new ExchangeService(ExchangeVersion.Exchange2007_SP1);
service.UseDefaultCredentials = true;
service.Credentials = CredentialCache.DefaultNetworkCredentials;
try
{
service.AutodiscoverUrl(autoDiscoverUrl);
EmailMessage mail = new EmailMessage(service);
EmailMessage OriginalEmail = email;
PropertySet psPropset = new PropertySet(BasePropertySet.IdOnly);
psPropset.Add(ItemSchema.MimeContent);
psPropset.Add(ItemSchema.Subject);
OriginalEmail.Load(psPropset);
ItemAttachment Attachment = mail.Attachments.AddItemAttachment<EmailMessage>();
Attachment.Item.MimeContent = OriginalEmail.MimeContent;
ExtendedPropertyDefinition PR_Flags = new ExtendedPropertyDefinition(3591, MapiPropertyType.Integer);
Attachment.Item.SetExtendedProperty(PR_Flags, "1");
Attachment.Name = OriginalEmail.Subject;
mail.Subject = "Case Created";
mail.ToRecipients.Add(OriginalEmail.Sender);
mail.SendAndSaveCopy();
}
catch (Exception ex)
{
LogFile.AppendError(ex);
throw ex;
}
}
我想寻求一些建议。谢谢。
【问题讨论】:
标签: c# .net exchangewebservices