从邮件中的属性

本文关键字:属性 | 更新日期: 2023-09-27 18:30:21

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

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

我尝试在 MailMessage 中设置回复、回复列表和属性,但它没有任何影响。

通过回复,

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

不应该因为某种原因无法改变这一点,还是我错过了什么?

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

从邮件中的属性

ReplyTo 已被弃用,ReplyToList 是一种正确的方法。

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

请记住,Gmail在"假"帐户的情况下使用发件人和发件人的方式不同,您可以在此处阅读

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

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