代表用户发送电子邮件

时间:2013-02-27 07:00:31

标签: c# .net smtp

所以我在我们的webapp中实现了一个邮件服务,用户可以利用它向某个列表上的人发送电子邮件。现在我需要知道如何最好地使用System.Net.Mail对象代表用户发送邮件。我已经尝试了一段时间没有正确的结果。

我希望邮件读取“我们的系统代表用户1”,并且对地址的回复应该是user1在我们系统中的地址,这样当联系人想要回复邮件时,他应该获得user1 :地址,不是我们的。我怎么能这样做?

我需要声明哪些字段以及如何声明?这就是我现在设置的方式,但是对这些设置的回复会将邮件发送回noreply@oursystem.com

from = 'noreply@oursystem.com'
replyTo = 'user1@privateaddress.com'
to = 'user1@privateaddress.com'
sender  = 'user1@privateaddress.com'
cc  = ''

2 个答案:

答案 0 :(得分:1)

回复obsolete。您应该使用 ReplyToList

示例:

MailAddress mailFrom = new MailAddress("noreply@oursystem.com");
MailAddress mailTo = new MailAddress("user1@privateaddress.com");
MailAddress mailReplyTo = new MailAddress("user1@privateaddress.com");

MailMessage message = new MailMessage();
message.From = mailFrom;
message.To.Add(mailTo); //here you could add multiple recepients
message.ReplyToList.Add(mailReplyTo); //here you could add multiple replyTo adresses

答案 1 :(得分:0)

这是由接收端的编程错误引起的。正确的解决方案是如上所述设置from和replyto。这将得到正确的行为。