我已经制作了一个用于发送电子邮件的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”。
答案 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用户名。
我有一种感觉就是你所看到的。