我通过命令行使用wsdl工具生成了一个名称空间,方法是将其指向https://exchange-server/EWS/Services.wsdl。
使用以下代码,我可以成功地发送电子邮件:
const string EWS_USERNAME = "user";
const string EWS_PASSWORD = "pass";
const string EWS_DOMAIN = "domain";
const string EWS_URL = "https://exchange-server/EWS/Exchange.asmx";
var ews = new ExchangeServiceBinding();
ews.Credentials = new NetworkCredential(EWS_USERNAME, EWS_PASSWORD, EWS_DOMAIN);
ews.Url = EWS_URL;
var email = new MessageType();
email.IsFromMe = false;
email.From = new SingleRecipientType();
email.From.Item = new EmailAddressType();
email.From.Item.EmailAddress = "from@example.com";
email.ToRecipients = new EmailAddressType[1] { new EmailAddressType { EmailAddress = "recipient@example.com" } };
email.Subject = "Subject";
email.Body = new BodyType();
email.Body.BodyType1 = BodyTypeType.HTML;
email.Body.Value = "<strong>Test</strong>";
var emailToSave = new CreateItemType();
emailToSave.Items = new NonEmptyArrayOfAllItemsType();
emailToSave.Items.Items = new ItemType[1] { email };
emailToSave.MessageDisposition = MessageDispositionType.SendAndSaveCopy;
emailToSave.MessageDispositionSpecified = true;
ews.CreateItemCompleted += new CreateItemCompletedEventHandler(ExchangeWebServices_CreateItemCompleted);
ews.CreateItemAsync(emailToSave, callbackState);我的问题是,如何发送同时包含HTML和纯文本正文的多部分电子邮件?
发布于 2011-11-02 02:05:12
Exchange会自动生成邮件的纯文本版本。你不需要做任何事情就能实现。
https://stackoverflow.com/questions/7956527
复制相似问题