![](/img/trans.png)
[英]Mailbox unavailable. The server response was: 5.7.1 Unable to relay WinForms
[英]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);
我試過的選項:
大多數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
選擇SMTP服務器的屬性
在選項卡Access上,選擇中繼
添加您的公共IP地址
關閉對話框並在同一選項卡上單擊“身份驗證”按鈕。
添加集成Windows身份驗證
也許不需要一些步驟,但它有效。
我們有這個問題。 在權限和安全性方面,一切都設置得很好。
在大海撈針之后。 問題是某種啟發式。 在電子郵件正文中,無論何時列出某個電子郵件地址,我們都會從我們的Exchange服務器收到上述錯誤消息。
經過2天的瘋狂測試和拔毛才發現這一點。
因此,如果您已檢查完所有內容,請嘗試將電子郵件正文更改為“test”一詞。 如果在那之后,您的電子郵件沒有問題,那么您就會遇到某種垃圾郵件/啟發式過濾器問題
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.