2012-02-06 71 views
3

今天早上我發現了SmtpClient類(.net 3.5)的一些奇怪行爲。無法解釋它是導致它的類還是SMTP服務器。SmtpClient UseDefaultCredentials屬性的奇怪行爲

下正在發生的事情:

  • 實例化SmtpClient與UseDefaultCredentials 真正和證書,沒有郵件發送;
  • 使用UseDefaultCredentials實例化SmtpClient false和憑證以有效帳戶,無郵件發送;
  • 使用UseDefaultCredentials實例化SmtpClient false和憑證null,郵件發送成功。

在前兩種情況下,異常消息是:

郵箱無法使用。服務器響應爲:5.7.1客戶端不 有權限發送的該發件人」

問題:?

  • 我怎麼能找出是什麼原因造成這種現象
  • 任何方式在C#中解決方法嗎?提前

謝謝!

+1

* from *字段與您的用戶相匹配嗎?也許smtp服務器正在期待那個? (另外,我希望服務器不接受來自外部的連接,因爲看起來auth實際上並不需要) – 2012-02-06 10:58:56

+0

認爲'from'用戶與Credentials屬性中的帳戶不匹配(檢查此... )。除此之外,如果沒有提供證書,是不是很奇怪的郵件可以毫無例外地發送? – 2012-02-06 11:07:59

+0

這一切都取決於如何配置smtp服務器。我想說這是一個潛在的大問題,如果一個垃圾郵件發現者發現了這個服務器,它最終會被列入黑名單。 (除非它不接受來自外部的郵件。) – 2012-02-06 11:26:42

回答

5

這取決於如何SM TP服務器已配置,但在這種情況下,問題似乎是from地址與用於登錄發送SMTP服務器的帳戶不匹配。結果,中繼被拒絕了。