2013-03-30 57 views
14

我已經在netsol服務器上託管了我的一個網站。從那裏,contact.aspx必須使用交換服務器發送電子郵件。當我嘗試發送電子郵件時:郵箱不可用。服務器響應是:5.7.1無法中繼錯誤

錯誤:郵箱不可用。服務器響應爲:5.7.1無法中繼

代碼:

MailMessage message = new MailMessage(@"[email protected]", 
             @"[email protected]", 
             "New Message", 
             "Exchange"); 
SmtpClient mail = new SmtpClient("exchange.abc.com", 29); 
mail.EnableSsl = true; 
mail.Credentials = new NetworkCredential(@"[email protected]", @"password"); 
mail.UseDefaultCredentials = false; 
mail.DeliveryMethod = SmtpDeliveryMethod.Network; 
mail.Send(message); 

選項我想:

  • 測試在端口465或587或25
  • 改變SmtpDeliveryMethod。 PickupDirectoryFromIis
  • 無法配置IIS(SMTP服務器),因爲它託管在他人的服務器上
+0

您可以使用@JimMischel答案進行測試嗎? – Kiquenet

回答

36

大多數SMTP服務器的默認配置不是來自非置信源到外域進行中繼。例如,假設你聯繫foo.com的SMTP服務器並要求它發送一條消息給[email protected]。由於SMTP服務器並不真正知道你是誰,它會拒絕中繼該郵件。如果服務器確實爲這樣做了,那麼它將被認爲是open relay,這是垃圾郵件發送者經常做的事情。

如果您聯繫foo.com郵件服務器,並要求它發送郵件給[email protected],它可以可能讓你這樣做。這取決於他們是否相信你是你說的那個人。通常,服務器會嘗試執行反向DNS查找,並且如果您發送的IP與DNS中MX記錄的IP地址不匹配,則拒絕發送郵件。因此,如果您說您是bar.com郵件服務器,但您的IP地址與bar.com的MX記錄不匹配,那麼它將拒絕傳送該郵件。

你需要跟該SMTP服務器的管理員聯繫以獲取認證信息,因此,它將使繼電器爲您服務。當您聯繫SMTP服務器時,您需要提供這些憑據。通常它可以是用戶名/密碼,也可以使用Windows權限。取決於服務器以及它的配置。

對於如何發送憑據的示例,請參見Unable to send emails to external domain using SMTP

+0

這影響了我們。當我們在有線連接上工作。然而,在工作的WiFi連接它沒有因爲一個不同的IP範圍。我們不得不更新Exchange以包含此範圍 – Kyle

+0

感謝您的解釋,這就是爲什麼我可以在同一主機上的地址上發送郵件而不是在其他主機上發送郵件的原因。 –

2

我們有這個問題。在權限和安全方面,一切都設置得很好。

之後,在乾草堆裏四處亂撥。這個問題是某種啓發式的。在電子郵件正文中,只要列出了某個電子郵件地址,我們就會從我們的交易所服務器獲取上述錯誤消息。

它花了2天的瘋狂測試和拉發來找到這個。

所以如果你已經檢查出的一切,嘗試改變電子郵件正文隻字「測試」。如果在此之後,您的電子郵件出去罰款,你有某種形式的垃圾郵件/啓發式過濾問題像我們

8

我使用的是Windows Server 2012的託管很長一段時間,它只是停止後比年前更沒有工作任何問題。我的解決方案是將服務器的公共IP地址添加到中繼列表並啓用Windows集成身份驗證。

我只是做了兩個改變,我沒有幫助。

轉到IIS 6管理

Go to IIS 6 Manager

SMTP服務器的選擇性質

Select properties of SMTP server

選項卡訪問,選擇繼電器

On tab Access, select Relays

添加您的公網IP地址

Add your public IP address

關閉對話框,並在同一個選項卡點擊身份驗證按鈕。

添加集成Windows身份驗證

Add Integrated Windows Authentication

也許並不需要一些步驟,但它的作品。

+0

我們有些人沒有安裝SMTP虛擬服務器。 –

0

@qub1n是正確的,我們有一套開發虛擬機。我面臨同樣的問題。當我要求我們的網絡管理員進行故障排除時,他無法修復它。使用上述步驟,我能夠在VM和Bang上快速設置自己的SMTP ...它開始工作。

相關問題