簡體   English   中英

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

[英]Mailbox unavailable. The server response was: 5.7.1 Unable to relay Error

我在netsol服務器上托管了我的一個網站。 從那里contact.aspx必須使用Exchange服務器發送電子郵件。 當我嘗試發送電子郵件時:

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

碼:

MailMessage message = new MailMessage(@"xxx@example.com", 
                                      @"test_user@yahoo.com",
                                       "New Message",
                                       "Exchange");
SmtpClient mail = new SmtpClient("exchange.abc.com", 29);
mail.EnableSsl = true;
mail.Credentials = new NetworkCredential(@"xxx@example.com", @"password");
mail.UseDefaultCredentials = false;
mail.DeliveryMethod = SmtpDeliveryMethod.Network;
mail.Send(message);

我試過的選項:

  • 在465或587或25號港口進行測試
  • 更改了SmtpDeliveryMethod.PickupDirectoryFromIis
  • 無法配置IIS(SMTP服務器),因為它托管在其他人的服務器上

大多數SMTP服務器的默認配置不是從不受信任的源中繼到外部域。 例如,假設您聯系SMTP服務器以獲取foo.com並要求它向bar@xyzzy.com發送消息。 由於SMTP服務器並不真正知道您是誰,因此它將拒絕中繼郵件。 如果服務器確實為你做了這件事,它將被視為一個開放的中繼 ,這是垃圾郵件發送者經常做的事情。

如果您聯系foo.com郵件服務器並要求它發送郵件到somebody@foo.com,它可能會讓您這樣做。 這取決於他們是否相信你是誰,你是誰。 通常,服務器將嘗試進行反向DNS查找,如果您發送的IP與DNS中的MX記錄的IP地址不匹配,則拒絕發送郵件。 因此,如果您說您是bar.com郵件服務器但您的IP地址與bar.com的MX記錄不匹配,那么它將拒絕傳遞該郵件。

您需要與該SMTP服務器的管理員聯系以獲取身份驗證信息,以便它允許您進行中繼。 聯系SMTP服務器時,您需要提供這些憑據。 通常它是用戶名/密碼,或者它可以使用Windows權限。 取決於服務器及其配置方式。

有關如何發送憑據的示例,請參閱無法使用SMTP向外部域發送電子郵件

我使用Windows Server 2012進行了很長一段時間的托管,並且它在多年后停止工作沒有任何問題。 我的解決方案是將服務器的公共IP地址添加到中繼列表並啟用Windows集成身份驗證。

我只做了兩處修改而沒有哪些幫助。

轉到IIS 6 Manager

轉到IIS 6 Manager

選擇SMTP服務器的屬性

選擇SMTP服務器的屬性

在選項卡Access上,選擇中繼

在選項卡Access上,選擇中繼

添加您的公共IP地址

添加您的公共IP地址

關閉對話框並在同一選項卡上單擊“身份驗證”按鈕。

添加集成Windows身份驗證

添加集成Windows身份驗證

也許不需要一些步驟,但它有效。

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

在大海撈針之后。 問題是某種啟發式。 在電子郵件正文中,無論何時列出某個電子郵件地址,我們都會從我們的Exchange服務器收到上述錯誤消息。

經過2天的瘋狂測試和拔毛才發現這一點。

因此,如果您已檢查完所有內容,請嘗試將電子郵件正文更改為“test”一詞。 如果在那之后,您的電子郵件沒有問題,那么您就會遇到某種垃圾郵件/啟發式過濾器問題

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM