[英]how to send email in C# even when one of the recipient is invalid?
我正在尝试向多个收件人发送电子邮件,并且当所有收件人都有有效的电子邮件地址时,它可以正常工作。
但是,如果其中一个收件人的电子邮件地址无效,则电子邮件甚至不会发送给其电子邮件地址有效的其他收件人,我将收到例外情况:
服务器拒绝了一个或多个收件人地址。 服务器响应为:550#5.1.0地址被拒绝。
即使其中一个电子邮件地址无效,我有什么办法可以将电子邮件发送给其他有效的收件人吗?
public static void sendMails(string ptxtSubject, string ptxtBody)
{
string txtTo = "valid1@aaa.com,valid2@aaa.com,invalid1@aaa.com";
string txtFrom = "valid@aaa.com";
string txtSubject = ptxtSubject;
string txtBody = ptxtBody;
MailMessage mail = new MailMessage();
mail.To = txtTo;
mail.From = txtFrom;
mail.Subject = txtSubject;
mail.Body = txtBody;
try
{
SmtpMail.SmtpServer ="smtp.aaa.com";
SmtpMail.Send(mail);
}
catch (Exception ex)
{
//log the exception
throw;
}
}
我可以向每个人发送单独的邮件,但是用户(收件人)将不知道电子邮件分发列表中还有谁。 我的要求是每个人都应该知道还有谁收到了这封电子邮件。
Outlook将电子邮件发送给所有有效用户,并通知我们无效用户。 无论如何我们可以使用C#做同样的事情吗?
我真的没有办法实现这一目标。 使用SmtpMail.Send()
发送电子邮件几乎是一个原子函数,您需要正确的数据才能正常工作。
我在这里看到的唯一选择是向每个收件人发送单独的电子邮件。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.