繁体   English   中英

通过C#SmtpClient发送电子邮件时,为什么收件人看到用户名而不看到发件人或来自电子邮件?

[英]When sending an email via C# SmtpClient, why does the recipient see the username and not the sender or from email?

使用SmtpClient发送电子邮件时,电子邮件发送成功,但是收件人将Smpt主机的用户名视为发件人,而不是MailMessage中指定的发件人或发件人电子邮件。

MailMessage mail = new MailMessage("from@email.com", "to@email.com");
mail.Subject = "subject";
mail.Body = "body";
mail.IsBodyHtml = true;
mail.Sender = "from@email.com";

SmtpClient client = new SmtpClient();
client.Port = 587;
client.DeliveryMethod = SmtpDeliveryMethod.Network;
client.UseDefaultCredentials = false;
client.Host = smpt.gmail.com;
client.Credentials = new NetworkCredential("username@gmail.com", "password");
client.EnableSsl = true;
client.Send(mail);

收到的结果电子邮件将显示username@gmail.com作为发件人/发件人/回复地址,而不是from@email.com。

是否可以在收件人电子邮件中显示from@email.com作为发件人,而不是username@gmail.com?

许多smtp提供程序将覆盖您的mail.Sender与client.Credentials,以尝试最大程度地减少网络钓鱼攻击和垃圾邮件。 因此,如果您在邮件中添加President@bankofamerica.com.Sender,您就不会欺骗接收者,因为接收者会看到客户,而是凭证。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM