3
我的SMTP服务器用于发送电子邮件有一个很大的问题。经常下降。如何在SMTP服务器关闭时将电子邮件放入队列中?
在这一点上我使用这个代码:
MailMessage mailMsg = new MailMessage();
mailMsg.From = new MailAddress("[email protected]");
mailMsg.To.Add("[email protected]");
mailMsg.Subject = "...";
mailMsg.IsBodyHtml = true;
mailMsg.BodyEncoding = Encoding.UTF8;
mailMsg.Body = "Mail";
mailMsg.Priority = MailPriority.High;
SmtpClient client = new SmtpClient();
client.Credentials = new NetworkCredential("[email protected]", "password");
client.Port = 456;
client.Host = "smtp.gmail.com";
client.EnableSsl = true;
client.Send(mailMsg);
但是,当我的SMTP服务器已关闭我想放在一个队列中的所有邮件,当它恢复我想给他们一个时间。有没有什么办法如何在C#中编程执行此操作?
Gmail SMTP只是一个例子。我使用Gmail的SMTP代码,因为它可以工作,并且永不停机。问题在于本地SMTP,这就是为什么当服务器关闭时需要使用C#方式将消息放入队列中...... – 2010-09-20 07:44:28
@jeff如果使用IIS作为SMPTP,请查看MSMQ,将消息发送给MSMQueue而不是直接到SMTP服务器。它已经在系统中(或者需要安装),只需要在代码中稍作调整;) – 2010-09-20 08:06:45
Caspar是对的,在队列中写入而不是连接到服务可以提供帮助。只需在线轴目录中存储带有标题等的完整电子邮件。 – 2010-09-20 10:54:51