当SMTP服务器关闭时,如何将电子邮件放入队列?

时间:2010-09-20 07:22:48

标签: c# asp.net email smtp

我的SMTP服务器发送电子邮件时遇到很大问题。经常失败。

此时我正在使用此代码:

MailMessage mailMsg = new MailMessage();
mailMsg.From = new MailAddress("fromMail@example.com");
mailMsg.To.Add("toMail@example.com");
mailMsg.Subject = "...";
mailMsg.IsBodyHtml = true;
mailMsg.BodyEncoding = Encoding.UTF8;
mailMsg.Body = "Mail";
mailMsg.Priority = MailPriority.High;
SmtpClient client = new SmtpClient();
client.Credentials = new NetworkCredential("account@gmail.com", "password");
client.Port = 456;         
client.Host = "smtp.gmail.com";
client.EnableSsl = true;
client.Send(mailMsg);

但是,当我的SMTP服务器关闭时,我想将所有电子邮件放入队列中,当它恢复时,我想一次发送一次。有没有办法在C#中以编程方式执行此操作?

1 个答案:

答案 0 :(得分:2)

Gmail的SMTP服务器经常停机?这很奇怪。

如果电子邮件至关重要,我建议您使用本地排队服务或基于Microsoft排队系统构建自己的服务。

但如果它如此重要,我会尝试解决我的SMTP问题。