[英]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.