使用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?
发布于 2016-04-06 10:46:36
许多smtp提供程序将使用mail.Sender覆盖client.Credentials,以尽量减少一般的钓鱼攻击和垃圾邮件。因此,如果将president@bankofamerica.com放在mail.Sender中,就不会愚弄收件人,因为收件人会看到client.Credentials。
https://stackoverflow.com/questions/36459668
复制