[ASP.NET]使用SMTP無法寄信當錯誤訊息是 System.Net.Mail.SmtpFailedRecipientException: 無法使用信箱。 伺服器回應為: 5.7.1 Unable to relay for 的解決方法。
剛好有各功能要透過SMTP寄信,之前都用一台共用的寄信但因為測試大量信件,
怕對那台機器有影響,就使用自己本機的SMTP,就趕緊把SMTP裝起來,結果就簡單寫了一下的程式碼,
try
{
MailMessage message = new MailMessage();
message.IsBodyHtml = true;
message.From = new MailAddress("xxx@ccc.ccc.tw");
message.To.Add("ccc@ccc.com.tw");
message.Subject = "test";
message.Body = "12345";
SmtpClient smtpClient = new SmtpClient("127.0.0.1",25);
smtpClient.Send(message);
}
catch (SmtpFailedRecipientsException ex)
{
Response.Write(ex.StatusCode.ToString());
}
catch (Exception ex)
{
Response.Write(ex.ToString());
}
說也奇怪明明程式沒有錯,但執行的時候出現了
System.Net.Mail.SmtpFailedRecipientException: 無法使用信箱。 伺服器回應為: 5.7.1 Unable to relay for
的錯誤訊息,後來Dotjum還以為自己程式寫錯,但看看因該那麼簡單因該不是,
後來想到因該是SMTP設定問題,所以若你發生以上的錯誤訊息,請注意只需透過設定 步驟如下
IIS 管理員 - 預設 SMTP 虛擬伺服器 - 內容 - 存取 - 轉接限制 - 轉接 - 設定允許連進來的IP - 確定 (說明圖片如下)
透過以上步驟就能簡單排除此狀況。就在這邊跟大家分享~