发送电子邮件到未设置的地址

时间:2014-04-01 21:32:50

标签: c# email smtp smtpclient

我有这段代码

 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
  3. 目前,收到该电子邮件的任何人都认为该邮件来自 myemailaddress@hotmail.com 。我认为我添加的web.config中的配置仅用于对 smtp.live.com 邮件服务器进行身份验证,并且电子邮件地址不会用于发送的电子邮件中。

    我做错了什么?

1 个答案:

答案 0 :(得分:1)

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

Have a look at the MSDN Documentation

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

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