Exchange賬戶發送郵件,由於25端口被禁,只能搗鼓別的方法。
需要引入Microsoft.Exchange.WebServices.dll。
1、下載程序集並安裝, https://www.microsoft.com/en-us/download/details.aspx?id=28952
2、在程序中引入Microsoft.Exchange.WebServices.dll
3、代碼:
public static void SendByExChange(string[] toemails, string[] Ctoemails, string title, string body, string[] fileName)
{
try
{
ServicePointManager.ServerCertificateValidationCallback = delegate { return true; };//至關重要的一句 否則會報錯:The Autodiscover service couldn't be located.
ExchangeService service = new ExchangeService(ExchangeVersion.Exchange2007_SP1);
service.Credentials = new NetworkCredential("用戶名", "密碼");
service.Url = new Uri(@"http://XXX/ews/Exchange.asmx");//exchange服務器上接口地址
service.TraceEnabled = false;
service.AutodiscoverUrl("發件箱");
EmailMessage message = new EmailMessage(service);
message.Subject = title;
message.Body = body;
if (fileName != null)
{
foreach (var str in fileName)
message.Attachments.AddFileAttachment(str);
}
if (Ctoemails != null)
{
foreach (var email in Ctoemails)
message.CcRecipients.Add(email);
}
if (toemails != null)
{
foreach (var email in toemails)
message.ToRecipients.Add(email);
}
message.SendAndSaveCopy();
}
catch (Exception ex)
{
Utility.LogHelper.WriteLog("發送郵件失敗", ex);
}
}