最近發郵件遇到問題。
主機godaddy 端口 25,80 都可以用
stmp服務器地址:smtpout.secureserver.net
不支持ssl 我就吧 EnableSsl 設置爲false了
一切都沒問題 之前發送也成功了。。。
ok,經過若干改動後 問題來了
報錯
錯誤爲:
System.net.mail.smtpException;服務器提交了協議衝突 服務器響應爲:
你是不是在想 冒號 後面的 響應爲???爲什麼?
好吧系統只負責報錯沒給出來啥。
查了一下 msdn
有個屬性 叫 SmtpStatusCode
有個例子。。。如下。。。yes。。。。檢查狀態碼。。。
try
{
client.Send(message);
}
catch (SmtpException e)
{
Console.WriteLine("Error: {0}", e.StatusCode);
}
finally
{
data.Dispose();
}
這樣搞好之後 你就可以看到狀態碼鳥。。。
看了一下 e.StatusCode是GeneralFailure
解釋是:事務未能發生。 當未能找到指定的 SMTP 主機時,會收到此錯誤。
有點摸不着頭腦。。。
因爲 我發件的郵件地址是自動生成的。。。。臥槽我檢查了一下 ,把動態生成的用固定的代替。。。
發送成功了。
好的,問題出在賬號生成的問題。。。
也就是說 發送 方的賬號是錯誤的。。。
問題至此解決了。。。
總結:有時候問題往往發生在你最容易忽略的地方