0

私の電子メール コードは、数人に電子メールを送信する場合はうまく機能しますが、連絡先のすべてのユーザー (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);しますが、まだ機能しません。あなたの助けを待っています!

4

1 に答える 1

1

問題は、受信メールサーバーが同時に多くの人にメッセージが送信されることを好まないことです。参考までに、postfixはデフォルトで50を超える受信者のメッセージを拒否します。

最も簡単な解決策は、一度に全員に送信するのではなく、複数のメッセージを送信することです。極端な場合、ユーザーごとにメッセージを送信できます。その後、必要に応じてメッセージをカスタマイズする機会が得られます。これにより、スパムとしてフィルタリングされる可能性も低くなります。

于 2012-08-01T09:41:48.840 に答える