2009-09-22 100 views
0

我使用asp.net的smtpClient發送郵件,但最近我發現它只能發送電子郵件到與smtp服務器相同的域,如果我嘗試發送郵件出於這個原因,會出現這樣的錯誤:郵箱無法訪問,郵件地址無法中繼

郵箱無法到達,*****無法中繼**** 對不起,我不記得確切的消息。

但是這從來沒有發生過,爲什麼?

在此先感謝

+0

您的主機更改了smtp服務器名稱和/或憑證。你跟他查過了嗎? – 2009-09-22 14:41:26

+0

Yup幾乎無法登錄到服務器,它將郵件轉發到與您已登錄和認證的域相同的域中。要發送域外的郵件,您需要傳遞有效的憑據。與管理員檢查細節應該是什麼。 – Robert 2009-09-22 14:42:54

+0

所以你的意思是它不是我的編程問題? 是否有任何方法來解決這個問題在smtpClient? – MemoryLeak 2009-09-22 14:44:45

回答

0

您是否通過ASP.NET以外的相同服務器(例如Outlook)發送電子郵件?

您可能遇到以下兩個問題之一:

SMTP服務器未配置爲轉發。這不是ASP.NET /編程問題。服務器必須設置爲SMTP網關。

您沒有將用戶名/密碼憑證傳遞給服務器。在某些服務器上,只要有內部IP地址,您仍然可以發送「內部」郵件,但服務器將拒絕將電子郵件轉發到外部地址。

0

這是一個配置問題。 SMTP服務器必須配置爲充當網關,這意味着它會將電子郵件轉發到註冊目標域的SMTP服務器。

通常,組織的SMTP服務器將僅充當從網絡內部連接的用戶或作爲組織成員進行身份驗證的用戶的網關。您還可以在IIS下設置SMTP服務器,並將其配置爲充當網關。然後你會發送所有的郵件到localhost,剩下的工作就完成了。

與您的系統管理員交談。