未设置向地址发送电子邮件

本文关键字:电子邮件 地址 设置 | 更新日期: 2023-09-27 17:56:07

我有这个代码

 var mail = new MailMessage(
                "from@from.com",
                "to@to.com",
                "subject",
                "body");
 mail.ReplyToList.Add(new MailAddress("from@from.com"));
 var client = new SmtpClient();
 client.Send(mail);

在我的 web.config 文件中,我有

<system.net>
    <mailSettings>
      <smtp from="no-reply@no-reply.com">
        <network host="smtp.live.com" password="mypassword" port="587" userName="myemailaddress@hotmail.com" enableSsl="true" />
      </smtp>
    </mailSettings>
  </system.net>

问题是:发送到 to@to.com 的电子邮件的收件人地址不是 from@from.com 而是 myemailaddress@hotmail.com。 当我点击回复电子邮件地址时,因为我有这一行:

mail.ReplyToList.Add(new MailAddress("from@from.com"));

对电子邮件地址的回复确实设置为 from@from.com

我想要的是:

  1. 回复要 from@from.com 的电子邮件地址(就像现在一样)
  2. 收件人电子邮件地址也要 from@from.com

现在,任何收到电子邮件的人似乎都知道电子邮件来自 myemailaddress@hotmail.com。 我认为我添加的 web.config 中的配置仅用于对 smtp.live.com 邮件服务器进行身份验证,并且电子邮件地址不会在发送的电子邮件中使用。

我做错了什么?

未设置向地址发送电子邮件

以下是可用于设置自己的SMTP服务器的指南。假设您拥有"from.com",这将解决您的问题。

查看 MSDN 文档

如果需要从许多不同的域发送电子邮件,则可以为每个域配置虚拟SMTP服务器。看看这篇文章。

如果您不拥有尝试从中发送邮件的域,那么看起来就像您在欺骗发件人地址。