當我使用System.Net.Mail發送郵件時,似乎郵件不立即發送。他們需要一兩分鐘才能到達我的收件箱。一旦我退出應用程序,所有的消息都會在幾秒鐘內收到。是否有某種可以強制SmtpClient立即發送消息的郵件消息緩衝區設置?System.Net.Mail和MailMessage不立即發送郵件
public static void SendMessage(string smtpServer, string mailFrom, string mailFromDisplayName, string[] mailTo, string[] mailCc, string subject, string body)
{
try
{
string to = mailTo != null ? string.Join(",", mailTo) : null;
string cc = mailCc != null ? string.Join(",", mailCc) : null;
MailMessage mail = new MailMessage();
SmtpClient client = new SmtpClient(smtpServer);
mail.From = new MailAddress(mailFrom, mailFromDisplayName);
mail.To.Add(to);
if (cc != null)
{
mail.CC.Add(cc);
}
mail.Subject = subject;
mail.Body = body.Replace(Environment.NewLine, "<BR>");
mail.IsBodyHtml = true;
client.Send(mail);
}
catch (Exception ex)
{
logger.Error("Failure sending email.", ex);
}
感謝,
馬克
您使用[發送](http://msdn.microsoft.com/zh-cn/library/swas0fwc.aspx)或[SendAsync](http://msdn.microsoft.com/zh-cn/library /x5x13z6h.aspx)?您是直接發送到您的電子郵件服務器還是通過其他SMTP服務器? – Rup
請注意,當我給自己發送一封電子郵件時,它幾乎是立即發送,所以它不是smtp服務器。 – mservidio
使用發送。我剛剛添加了我的幫助程序方法... – mservidio