2013-09-24 35 views
0

我已經完成了所有設置,我試過命中和試用,指定IP等,但仍然無法發送郵件從我的C#代碼(外部我的域名,在它的罰款)。無法發送郵件(郵件中繼錯誤),在SMTP郵件服務器中具有所有設置

如果我嘗試通過在Web配置文件中指定憑據來發送郵件,那麼我可以在我的域之外發送郵件。但那不是我想要的。

當我嘗試通過我的代碼發送,然後我做SMTP上的設置,允許中繼和指定域,這是行不通的。

我檢查複選框,其中指出發送郵件到所有地址等,這也是行不通的。

我在哪裏錯了?

我的代碼:

當我在web配置說明:

<system.net> 
<mailSettings> 
    <smtp deliveryMethod="Network" from="[email protected]"> 
    <network enableSsl="false" host="hostname" port="25" userName="abc" password="abc#" defaultCredentials="false" clientDomain="domainname"/> 
    </smtp> 
</mailSettings> 

執行代碼時指定:

using (smtp) 
{ 
smtp.Host = "hostname"; 
smtp.UseDefaultCredentials = false; 
smtp.Port = 25; 
smtp.EnableSsl = true; 
smtp.Credentials = new System.Net.NetworkCredential("[email protected]", "abc123#"); 
smtp.DeliveryMethod = SmtpDeliveryMethod.Network; 
} 

在服務器這些設置,但沒有成功。 enter image description here

+0

在代碼中你有smtp.EnableSsl = true;但在web.config中,您將其設置爲false – Nathan

+0

我也改變了這一點,但沒有成功 –

回答

1

如果您不想在配置文件中擁有憑據,則必須改爲在SMTP服務中爲IP地址啓用中繼訪問。根據您的屏幕截圖,只有經過身份驗證的連接才能被中繼。

它通常有助於在SMTP服務上啓用日誌記錄功能,以便您可以準確瞭解客戶端在何處以及如何嘗試使用SMTP服務。

+0

感謝buddy,+1爲我的答案。 :) –

相關問題