Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/29.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 代表用户发送电子邮件_C#_.net_Smtp - Fatal编程技术网

C# 代表用户发送电子邮件

C# 代表用户发送电子邮件,c#,.net,smtp,C#,.net,Smtp,因此,我在我们的webapp中实现了一个邮件服务,用户可以利用它向特定列表上的人发送电子邮件。现在我需要知道如何最好地使用System.Net.Mail对象代表用户发送邮件。我已经尝试了一段时间,但没有得到正确的结果 我希望邮件读为“我们的系统代表用户1”,回复地址应该是用户1在我们的系统中的地址,这样当联系人想要回复邮件时,他应该得到用户1:s的地址,而不是我们的地址。我该怎么做 我需要声明哪些字段以及如何声明?这就是我现在设置它的方式,但是对这些设置的回复会将邮件发送回noreply@our

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

我希望邮件读为“我们的系统代表用户1”,回复地址应该是用户1在我们的系统中的地址,这样当联系人想要回复邮件时,他应该得到用户1:s的地址,而不是我们的地址。我该怎么做

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

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

ReplyTo已过时。您应该使用回复列表

例如:

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

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

我正在使用.net 2.0。它似乎没有replytolist?啊,那就好了。我已经用.NET4.0检查过了。MailMessage在3.5和4.0之间发生了重大变化。啊,好吧!谢谢你的帮助!:)这是否满足要求:我希望邮件内容为“我们的系统代表用户1”“发件人”必须实际为noreply@oursystem.com“而from是用户的专用地址。SPF&DKIM正在验证“发件人”,而回复地址将是来自“发件人”的地址(除非配置了回复列表)。