var client = new SmtpClient("smtp.gmail.com", 587)
{
Credentials = new NetworkCredential("mail@gmail.com", "supersecretpassword"),
EnableSsl = true
};
MailMessage message = new MailMessage(new MailAddress(sender),
new MailAddress(recepient));
//message.From = new MailAddress(sender);
message.IsBodyHtml = true;
// message.To.Add(new MailAddress(recepient));
//message.ReplyToList.Add(new MailAddress(sender));
message.Subject = "subject";
message.Body = "title";
client.Send(message);我使用上面的代码发送电子邮件,但是,如果接收者决定回复电子邮件,我希望回复发送方参数中提供的地址,但是当我收到电子邮件时,From字段提供了smtp信息中提供的mail@gmail.com地址。
我试着在MailMessage中设置答复、回复列表和属性,但是它没有显示任何内容。
通过回复,我可以在gmail中看到"ReplyTo“中的发件人地址,但是如果我按下”回复“,默认接收方仍然是mail@gmail.com。
我不应该因为某种原因而改变这种状况,还是我错过了什么?
我怀疑这与使用临时gmail作为smtp服务器有关,但我无法找到对此的任何确认。
发布于 2013-09-06 06:18:30
https://stackoverflow.com/a/3872880/744610
根据这个答案,这是因为我使用gmail作为smtp服务器,而gmail不允许更改电子邮件的From/发件人属性,以避免垃圾邮件
发布于 2013-09-05 12:52:05
不推荐ReplyTo,ReplyToList是正确的方法。
如果您认为这是与gmail相关的问题,请尝试使用另一个smtp (例如sendgrid )。
请记住,gmail使用发件人和从不同的情况下,“假”帐户,因为你可以阅读这里
https://stackoverflow.com/questions/18636399
复制相似问题