【发布时间】:2015-05-04 00:27:47
【问题描述】:
我的网站上有一个联系表。 过去,我使用我的管理员 gmail 帐户(使用 gmail smtp)发送邮件。 现在我必须切换到在 Outlook 上创建的专业帐户。 问题是现在似乎不可能将另一个地址欺骗到回复标头中。如果我回复邮件,它总是会发送到“info@xxx.be”,而不是联系表格上填写的地址。
这是过去使用的代码。 有什么办法可以让这段代码再次工作?
try
{
var message = new MailMessage();
message.To.Add(new MailAddress("info@xxx.be"));
message.From = new MailAddress(from);
message.ReplyToList.Clear();
message.ReplyToList.Add(new MailAddress(from));
message.Subject = subject;
message.Body = body;
message.IsBodyHtml = true;
var client = new SmtpClient("smtp-mail.outlook.com", 587)
{
EnableSsl = true,
UseDefaultCredentials = false,
Credentials = new NetworkCredential("info@xxx.be", "xxxxx")
};
client.Send(message);
}
catch (Exception e)
{
return false;
}
return true;
【问题讨论】:
-
你为什么将
reply to设置为与from相同的值? -
因为我想让邮件看起来像是客户(使用表单)发送到公司地址 (info@xxx.be)。由于 From 很难欺骗,我还将它包含在 ReplyToList 中,所以如果我在邮件上按下回复,它至少会将其发送给客户而不是我自己的地址(因为那是用于 smtp 服务器的地址) .但这在将 outlook.com 用作 smtp 时似乎不起作用。回复总是指向 info@xxx.be。