我正在编写一个服务器,代表我的客户向许多收件人发送电子邮件。
电子邮件必须来自客户的电子邮件地址(client@example.org),但我想通过VERP自动处理退回。基本上,电子邮件From:
标题为client@example.org,但SMTP信封发件人(MAIL FROM
)将为 unique-email-id @ my-email-service .example.com的。
我已经构建了一个多线程发送引擎,它使用内置的System.Net.Mail.SmtpClient
实际上与收件人的MX服务器说SMTP。
不幸的是,SmtpClient
不允许您指定信封发件人 - 它只使用From:
地址。
我需要一个允许我指定SMTP MAIL FROM
的替代方法。优选地,需要很少工作的东西可以替换SmtpClient
。
到目前为止,我所看到的一切都是整个email suite(SMTP / POP3 / IMAP /厨房接收器)。哪些轻量级SMTP库可用?
答案 0 :(得分:0)
System.Net.Mail.SmtpClient
内部正在使用mailMessage.Sender ?? mailMessage.From
封信MAIL FROM
信封发件人。
不幸的是,虽然您可以使用Sender属性使用MAIL FROM
属性指定信封mailMessage.Sender
信封发件人,但SmtpClient还会添加Sender: unique-email-id@domain.com
标头。
使用此Sender标头,电子邮件客户端会显示unique-email-id@domain.com on behalf of John Doe <doe@domain.com>
我发现没有像样的开源Smtp库支持这一点 - 即使是Mono的SmtpClient也没有这个功能。一些支持VERP的图书馆:
PS:随意投票支持VERP功能请求:http://visualstudio.uservoice.com/forums/121579-visual-studio/suggestions/3800792-smtpclient-should-allow-to-specify-the-envelope-se
相关问题:How can I implement VERP (Variable envelope return path) in .NET?