[英]Can not send email when there are a lot of receivers
當我僅向少數人發送電子郵件時,我的電子郵件代碼運行良好,但是當我發送給所有聯系的用戶(177)時,出現此錯誤:
[ERROR] - org.apache.commons.mail.EmailException: Sending the email to the following server failed : hlrdwd.com:25
代碼如下:
HtmlEmail email = new HtmlEmail();
email.setCharset("utf-8");
if (vo.getContent() != null && vo.getContent().trim().length() > 0) {
email.setHtmlMsg(vo.getContent());
} else {
email.setHtmlMsg(" ");
}
email.setSubject(vo.getTitle());
email.setFrom(vo.getSender(), currentuname);
email.setHostName(Property.getSmtp());
List<Map<String, String>> toList = mm.formatAddress(vo
.getReceiver());
if (toList != null) {
for (int i = 0; i < toList.size(); i++) {
Map<String, String> tMap = toList.get(i);
email.addTo(tMap.get(mm.KEY_EMAIL), tMap.get(mm.KEY_NAME));
System.out.println(tMap.get(mm.KEY_EMAIL));
}
}
email.setAuthentication(currentuser, password);
String messageid = email.send();
我用谷歌搜索並添加email.setTLS(true);
,但仍然無法正常工作。 等待您的幫助!
問題是接收郵件服務器不喜歡同時發送給太多人的郵件。 作為參考,默認情況下,postfix拒絕具有50個以上收件人的郵件。
最簡單的解決方案是發送多個消息,而不是一次發送給所有人。 在極端情況下,您可以向每個用戶發送一條消息-然后,您可以根據需要自定義消息,這也使得它們不太可能被過濾為垃圾郵件。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.