C# 发件人地址显示网络凭据用户电子邮件

C# 发件人地址显示网络凭据用户电子邮件,c#,asp.net,c#-4.0,C#,Asp.net,C# 4.0,我制作了一个用于发送电子邮件的web应用程序。它很好用 问题是receiver end-receiver将NetworkCredential用户电子邮件显示为From Email。 并且从电子邮件中提供的电子邮件不存在 我想向收件人显示所提供的电子邮件,而不是networkcredential用户电子邮件 示例代码- using System.Net.Mail; MailMessage oMsg = new MailMessage(); oMsg.From = new MailAddress

我制作了一个用于发送电子邮件的web应用程序。它很好用

问题是receiver end-receiver将NetworkCredential用户电子邮件显示为From Email。 并且从电子邮件中提供的电子邮件不存在

我想向收件人显示所提供的电子邮件,而不是networkcredential用户电子邮件

示例代码-

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“



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


更新oMsg.From=新邮件地址(“sender@somewhere.com"); 要成为oMsg.From=新邮件地址(“sender@somewhere.com","sender@somewhere.com");

邮件地址有一个重载,允许您传递给定邮件地址的显示名称,例如
新邮件地址(“sender@somewhere.com“,”显示名称“)

某些邮件服务(如谷歌)会覆盖.FROM值,并将始终使用信封值,即NetworkCredential用户名


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

这意味着有一个问题,设置得很好&工作正常,如果发件人地址无法进行身份验证,那么它将使用传递的凭据,是这样还是我遗漏了什么我无法理解你的意思,你能用简单的英语问一下吗……也许你需要检查设置,它可能不允许使用不在域中的id,因此使用凭据id发送邮件。没有相关设置。因此将其更改为oMsg。From=新邮件地址(“sender@somewhere.com“,“您所需的显示名称”);