来自地址显示NetworkCredential用户电子邮件

时间:2012-01-10 09:02:40

标签: c# asp.net c#-4.0

我已经制作了一个用于发送电子邮件的Web应用程序。它工作正常。

问题是接收方端 - Receiver将NetworkCredential User Email显示为来自电子邮件。 并且通过电子邮件提供的电子邮件不存在。

我想显示所提供的电子邮件,而不是向接收方显示网络高级用户电子邮件。

示例代码 -

using System.Net.Mail;


MailMessage oMsg = new MailMessage();
oMsg.From = new MailAddress("sender@somewhere.com","Diplay Name");
oMsg.To.Add(new MailAddress("recipient@somewhere.com")); 
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);

接收者从电子邮件获取的是“用户”,但我想显示“sender@somewhere.com”。


3 个答案:

答案 0 :(得分:0)

我认为您需要更新发送的电子邮件地址的显示名称。

更新oMsg.From =新邮件地址(“sender@somewhere.com”); to oMsg.From = new MailAddress(“sender@somewhere.com”,“sender@somewhere.com”);

答案 1 :(得分:0)

MailAddress有一个重载,允许您传递给定邮件地址的显示名称,例如new MailAddress("sender@somewhere.com", "Display Name");

答案 2 :(得分:0)

某些邮件服务(例如google)会覆盖.FROM值,并始终使用ENVELOPE值,即NetworkCredential用户名。

我有一种感觉就是你所看到的。