0
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);

我正在使用上面的代码发送电子邮件,但是,如果收件人决定回复电子邮件,我希望回复在 sender 参数中提供的地址,但是当我收到电子邮件时,发件人字段会给出地址smtp 信息中提供的 mail@gmail.com。

我尝试在MailMessage 中设置replyto、replytolist 和from 属性,但它并没有改变任何东西。

通过回复,我可以在 gmail 的“ReplyTo”中看到发件人地址,但如果我按下回复,默认收件人仍然是 mail@gmail.com

由于某种原因,我不应该能够改变这一点,还是我错过了什么?

编辑我怀疑这与使用临时 gmail 作为 smtp 服务器有关,但我找不到任何确认。

4

2 回答 2

0

不推荐使用ReplyTo,ReplyToList 是正确的方法。

如果您认为这是与 gmail 相关的问题,请尝试使用另一个 smtp(例如sendgrid

请记住,在“假”帐户的情况下,gmail 使用 Sender 和 From 的方式不同,您可以在此处阅读

于 2013-09-05T12:52:05.773 回答
0

https://stackoverflow.com/a/3872880/744610

根据这个答案,这是因为我使用 gmail 作为 smtp 服务器,而 gmail 不允许更改电子邮件的发件人/发件人属性,以避免垃圾邮件

于 2013-09-06T06:18:30.787 回答