我的java代码或SMTP服务器中存在问题吗? 452 4.5.3使用java通过SMTP发送邮件时收件人太多错误

时间:2016-01-20 05:41:35

标签: java email smtp javamail

我使用以下java方法通过SMTP服务器向多个用户发送邮件。当用户数量低于200时,所有邮件都会发送。但是当收件人数超过200时,我得到 com.sun.mail.smtp.SMTPAddressFailedException:452 4.5.3收件人太多,并且没有邮件被传递。

我猜这可能是由于SMTP服务器中的配置并通知了管理员。但他说,SMTP服务器配置为一次向最多500个收件人发送邮件,问题出在我的程序中。但我没有看到任何设置SMTP最大收件人的属性。 我错过了什么或者我可以放松并继续指责服务器管理员吗?

my @arr;

for my $i (0 .. 2) {
    push(@arr, $i + 10);
}

1 个答案:

答案 0 :(得分:1)

服务器抱怨收件人数量。但是你应该在你的代码中修复它,只发送给合理数量的收件人(如果更多的时间只发送给部分收件人)

为什么呢?这是SMTP。因此,第一台服务器会将邮件传递到该线路上的下一个SMTP - 而您无法控制该线路中的每台服务器。

请注意,Transport有一种方法可以在代码中指定收件人 - 您已经使用过 - 如果您回收传输实例和邮件,则可以保持标题完整 - 显示所有> 200个收件人 - 或者更确切地说不是因为您只添加了BCC。