2012-01-10 36 views
0

我製作了用於發送電子郵件的Web應用程序。它工作正常。從地址顯示NetworkCredential用戶電子郵件

問題是接收端 - Receiver顯示NetworkCredential用戶電子郵件爲From Email。 而作爲From Email提供的電子郵件不存在。

我想向接收者顯示suplied email而不是networkcredential用戶的電子郵件。

樣本代碼 -

using System.Net.Mail; 


MailMessage oMsg = new MailMessage(); 
oMsg.From = new MailAddress("[email protected]","Diplay Name"); 
oMsg.To.Add(new MailAddress("[email protected]")); 
oMsg.Subject = "Send Using Web Mail"; 
oMsg.Body ="Hi.."; 
System.Net.Mail.SmtpClient s = new System.Net.Mail.SmtpClient("host", port_no); 
System.Net.NetworkCredential nc = new System.Net.NetworkCredential("user", "password"); 
s.EnableSsl = true; 
s.UseDefaultCredentials = false; 
s.Credentials = nc; 
s.Send(oMsg); 

接收器從電子郵件得到的是「用戶」,但我想顯示「[email protected]」。


+0

這意味着有一個問題在**所有設置良好**工作正常,如果從地址無法驗證,那麼它會使用通過的憑據,是這樣或我錯過了什麼 – V4Vendetta 2012-01-10 09:06:19

+0

我不能瞭解你,你可以問簡單的英文... – Murtaza 2012-01-10 09:06:52

+0

也許你需要檢查設置,它可能不允許允許一個不在域中的ID,因此使用憑證ID來發送郵件 – V4Vendetta 2012-01-10 09:39:58

回答

0

我認爲你需要更新你從發送電子郵件地址的顯示名稱。

更新oMsg.From = new MailAddress(「[email protected]」);成爲oMsg.From =新郵件地址(「[email protected]」,「[email protected]」);

+0

同時顯示電子郵件 – Kishor 2012-01-10 09:59:27

+0

因此,將其更改爲oMsg.From =新的MailAddress(「[email protected]」,「您需要的顯示名稱」); – 2012-01-10 10:02:39

0

MailAddress有一個過載,它允許你傳遞給定的郵件地址的顯示名稱,例如, new MailAddress("[email protected]", "Display Name");

0

某些郵件服務(如google)會覆蓋.FROM值,並始終使用ENVELOPE值(即NetworkCredential用戶名)。

我有一種感覺就是你所看到的。