使用 SMTP 发送电子邮件并控制发件人地址

2024-01-17

我正在尝试使用 c# 应用程序发送电子邮件,下一个代码正在运行。

SmtpClient MailClient = new SmtpClient("smtp.gmail.com");
MailClient.EnableSsl = false;
MailClient.Credentials = new NetworkCredential("Ryan.White", "Password");
MailMessage Msg = new MailMessage();
Msg.From = new MailAddress("[email protected] /cdn-cgi/l/email-protection");
Msg.To.Add(new MailAddress("[email protected] /cdn-cgi/l/email-protection"));
Msg.Subject = "testSub";
Msg.Body = "testBody";

MailClient.Send(Msg);

但是 Gmail 的 SMTP 服务器将 gmail 电子邮件地址([电子邮件受保护] /cdn-cgi/l/email-protection) 作为发送者,

无论 MSG.FROM 地址如何([电子邮件受保护] /cdn-cgi/l/email-protection).

是否可以使用 C#/.NET 发送电子邮件并控制发件人地址?

或者在没有身份验证的情况下发送电子邮件?

我知道在 UNIX 中你可以在“Mail”命令中控制发件人地址。


Gmail 这样做是出于安全原因,否则垃圾邮件发送者很容易发送看似来自虚假地址的电子邮件。

您已正确编码,C# 将尝试将发件人地址设置为[电子邮件受保护] /cdn-cgi/l/email-protection,但SMTP服务器拥有最终决定权。如果您有权以其他用户身份发送,则这将起作用,就像在 Exchange 服务器环境中您被验证为管理员一样。但是,Gmail 似乎不允许这样做。您需要以 Sender.name 身份登录才能以该用户身份发送电子邮件。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 SMTP 发送电子邮件并控制发件人地址 的相关文章

随机推荐