我有这段代码
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 。
我想要的是:
目前,收到该电子邮件的任何人都认为该邮件来自 myemailaddress@hotmail.com 。我认为我添加的web.config中的配置仅用于对 smtp.live.com 邮件服务器进行身份验证,并且电子邮件地址不会用于发送的电子邮件中。
我做错了什么?
答案 0 :(得分:1)
以下是可用于设置自己的SMTP服务器的指南。假设您拥有“from.com”,这将解决您的问题。
Have a look at the MSDN Documentation
如果您需要从许多不同的域发送电子邮件,则可以为每个域配置虚拟SMTP服务器。看看this article。
如果您不拥有尝试发送邮件的域名,那么您将看起来像是在欺骗发件人地址。