在發送電子郵件後,SMTP是否需要在C#中處理?即使沒有附件,是否需要使用C#處理SMTP?
我得到SMTP認證錯誤,第二次應用程序啓動時。我想知道是否需要處理SMTP。第一次在新電腦上不會發生,但如果同一個窗口打開兩次,則會出現驗證錯誤。這裏是下面的代碼。
try{
MailMessage mail = new MailMessage();
SmtpClient SmtpServer = new SmtpClient("smtp.gmail.com");
mail.From = new MailAddress("[email protected]");
mail.To.Add("[email protected]");
mail.Subject = "FeedBack";
mail.Body = "Text ";
SmtpServer.Port = 587;
SmtpServer.EnableSsl = true;
SmtpServer.UseDefaultCredentials = false;
SmtpServer.Credentials = new System.Net.NetworkCredential("[email protected]", "mypassword");
SmtpServer.Send(mail);
SmtpServer.Dispose();
}
catch (Exception)
{
Application.Exit();
this.Close();
}
}
好的一般經驗法則似乎是,如果一個類提供了一個dispose方法,它有一些需要處理的東西,你應該使用它!我不明白你會如何得到一個認證錯誤,雖然你有硬編碼的證書工作_sometimes _...你能提供實際的錯誤信息嗎? – Bridge
如果你不想手動使用'using(SmtpClient SmtpServer = new SmtpClient(「smtp.gmail.com」)){/ *你的代碼在這裏* /}'語句。 – dcg
@Bridge實際錯誤消息'SMTP服務器需要安全連接或客戶端未經過身份驗證。服務器響應是:5.5.1需要身份驗證' – Patrick