Zac*_*Zac 6 .net c# email webmail
在讨论之前我们已经在StackOverflow上看到了一些类似的问题,System.Web.Helpers.Webmail.Send但是我没有看到正在发生的事情的正确解释.
关于to:参数,文档说:
收件人或收件人的电子邮件地址.使用分号(;)分隔多个收件人.
我已经看到答案说"使用逗号,因为文档是错误的",或"使用分号",或"也许这是一个环境问题".
代码
WebMail.Send(
to: "joe.bloggs@mail.com,jane.bloggs@mail.com",
from: "no-reply@company.com",
subject: "Some Automated Email",
body: "<strong>Lorem Ipsum</strong>",
isBodyHtml: true
);
Run Code Online (Sandbox Code Playgroud)
我尝试过几个场景:
joe.bloggs@mail.com;jane.bloggs@mail.com
没有收到电子邮件: An invalid character was found in the mail header: ';'.
joe.bloggs@mail.com; jane.bloggs@mail.com
只有第一个收件人收到电子邮件
joe.bloggs@mail.com,jane.bloggs@mail.com
两人都收到了电子邮件
joe.bloggs@mail.com, jane.bloggs@mail.com
两人都收到了电子邮件
joe.bloggs@mail.com, non-existant@mail.com
首先收到了电子邮件,但未被捕获的例外情况: Mailbox unavailable. The server response was: 5.7.1 Unable to relay
non-existant@mail.com, joe.bloggs@mail.com
没有收到电子邮件: An invalid character was found in the mail header: ','.
任何人都可以对此有所了解吗?我实际上在不同的服务器上有更多的眩晕行为; 我正在使用Exchange进行上述测试,但实际上在hMailServer上遇到了不同的行为,joe.bloggs@mail.com,jane.bloggs@mail.com导致静默失败,没有服务器错误,hMailServer日志中没有外发邮件.在使用hMailServer的系统上,我只使用一个地址获得了成功.
小智 2
这可能与您连接的继电器的种类以及它们接受的方法的种类有关。分隔符不仅对每个特定的邮件服务器很重要,而且电子邮件地址也很重要(因为不同的中继将配置为接受某些电子邮件,并且会针对错误的电子邮件抛出各种错误代码,这将依次引发各种异常)。
System.Net.Mail 命名空间有一个 MailMessage 对象,其中包含“收件人”、“抄送”和“密件抄送”的 MailAddressCollection 对象,您只需为每个收件人调用 Add() 即可。
我有一个使用它发送邮件(没有中继)的库(所有内容都发送到密件抄送),您可以在那里查看代码。如果您碰巧使用该库,请确保您的 IP 地址保持良好的声誉,并确保您的 DNS 记录的设置方式与您作为中继时的设置方式相同(PTR 和 A 记录所有设置)。