使用MailKit使用单个SMTP事务向多个收件人发送电子邮件



在我的环境中,我们通过Office 365 SMTP使用MailKit以编程方式发送电子邮件。我最近意识到,如果我发送的电子邮件有多个收件人,而其中一个地址在我们的组织中已不存在,如果单个收件人无效,O365服务器将拒绝整个电子邮件(不发送给其余收件人(。生成的错误是

5.4.1 Recipient address rejected: Access denied. 

当我发送电子邮件时,我更喜欢在电子邮件上显示所有收件人,这样每个人都知道谁参与其中,并可以回复群。所有收件人都在我的组织内,所以他们已经有了彼此的电子邮件地址。

根据SMTP的工作方式(使用单独的RCPT和标头(,我似乎应该能够与标头中的每个人一起发送电子邮件,但使用SMTP服务器的单独事务,这样我就可以捕获为每个地址生成的异常。

这可能与MailKit有关吗?

查看接受MailboxAddress参数的Send((和SendAsync((方法:

http://www.mimekit.net/docs/html/M_MailKit_MailTransport_Send_2.htm

这允许您控制将邮件发送给谁,而不是让MailKit的SmtpClient通过从"收件人"、"抄送"one_answers"密件抄送"标头中收集地址来决定将邮件发送到谁。

最新更新