2
我在控制檯應用程序Visual Studio 2012中使用以下代碼發送郵件。 由於某些原因,當我從Exchange服務器帳戶發送郵件時,一次只能發送5封郵件應用。Outlook Exchange帳戶僅發送5封郵件
但是,如果我從免費outlook.com
網絡帳戶發送,那麼我可以一次發送全部10條消息。我不確定這是否是服務器配置問題。
代碼段:
public static void SendMail(string recipientEmail, string subject, string body)
{
using (MailMessage mailMessage = new MailMessage())
{
try
{
mailMessage.From = new MailAddress(ConfigurationManager.AppSettings["MailFrom"]);
mailMessage.Subject = subject;
mailMessage.Body = body;
mailMessage.IsBodyHtml = true;
mailMessage.To.Add(new MailAddress(recipientEmail));
SmtpClient smtp = new SmtpClient();
smtp.Host = ConfigurationManager.AppSettings["MailHost"];
smtp.EnableSsl = Convert.ToBoolean(ConfigurationManager.AppSettings["MailEnableSsl"]);
System.Net.NetworkCredential NetworkCred = new System.Net.NetworkCredential();
NetworkCred.UserName = ConfigurationManager.AppSettings["MailUserName"];
NetworkCred.Password = ConfigurationManager.AppSettings["MailPassword"];
smtp.UseDefaultCredentials = true;
smtp.Credentials = NetworkCred;
smtp.Port = int.Parse(ConfigurationManager.AppSettings["MailPort"]);
smtp.Send(mailMessage);
}
catch (MailException ex)
{
throw ex;
}
catch (Exception ex)
{
throw new MailException("Email sending failed", ex);
}
}
}
在應用程序配置文件:
<add key="MailHost" value="Mail.myMail.com"/>
<add key="MailEnableSsl" value="true"/>
<add key="MailFrom" value="myEmailAddress"/>
<add key="MailUserName" value="MyUserName"/>
<add key="MailPassword" value="MyPassword"/>
<add key="MailPort" value="587"/>
<add key="MailTemplatePath" value="X:\MyFolder\email.html"/>
<add key="MailSubject" value="MyEmail Subject"/>
我試圖一次發送給10個收件人,但是發送給個人電子郵件地址。數據位於表格中,因此我循環使用用戶ID併發送到每個用戶的電子郵件地址。它在我使用免費的網絡帳戶時有效。但是,該信息是保密的,我必須使用House內部交換賬戶。在與IT人員交談之前,我只是想把事情搞砸。 – Asynchronous
這可能只是在消息之間等待一段合適的時間。以下是Exchange 2013中的限制工作方式(http://technet.microsoft.com/zh-cn/library/bb232205(v=exchg.150).aspx)。你知道交換的版本嗎?你是否通過上面的代碼得到異常?你能讓我們知道這個消息嗎? – Aaron
沒有拋出異常,我可以發送100條消息,但是我不能同時發送它們。沒有例外。有沒有辦法讓我以增量發送? – Asynchronous