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