我正在努力区分这两个异常,特别是基于它们的属性和用法:
如果捕获掩码SmtpFailedRecipientsException
,则它们都为单个电子邮件地址定义了一个掩码属性
SmtpFailedRecipientException
从逻辑上讲,我希望复数版本优先-服务器无法将您的电子邮件发送给任何收件人-而不是服务器无法发送给单个特定收件人。
但是,如果你发送给8个收件人,其中两个收件人失败了,那该怎么办呢?
在捕获SmtpFailedRecipientException
、SmtpFailedRecipientsException
和SmtpException
方面,正确处理的SmtpClient.Send()
调用应该是什么样子
发布于 2018-06-20 21:58:39
SmtpFailedRecipientsException是SmtpFailedRecipientException的一个子类。此外,SmtpFailedRecipientException
是SmtpException的一个子类。
但是如果你发送给8个收件人并且其中两个失败了怎么办--现在你得到了什么异常?
您将得到的例外是一个SmtpFailedRecipientsException
。
在捕获SmtpFailedRecipientException、SmtpFailedRecipientsException和SmtpException方面,正确处理的SmtpClient.Send()调用应该是什么样子的?
try {
smtpClient.Send(mailMessage);
}
catch (SmtpFailedRecipientsException recipientsException)
{
Console.WriteLine($"Failed recipients: {string.Join(", ", recipientsException.InnerExceptions.Select(fr => fr.FailedRecipient))}");
// your code here
}
catch (SmtpFailedRecipientException recipientException)
{
Console.WriteLine($"Failed recipient: {recipientException.FailedRecipient}");
// your code here
}
catch (SmtpException smtpException)
{
Console.WriteLine(smtpException.Message);
// your code here
}
https://stackoverflow.com/questions/33148293
复制相似问题