そのため、当初、私は何千もの受信者に電子メールを送信するマーケティング電子メールアプリケーションをコーディングしていました。私は素朴にこのようなことをしていました:
for(all emails)
{
HtmlEmail email = new HtmlEmail();
email.setBody(theHtml);
email.addTo(currentEmail);
email.send();
}
上記の問題は、非常に多くの電子メールの後で、ガベージコレクターが起動して、CPUの束を消費する古いHtmlEmailオブジェクトを削除する必要があることです。私は今、以下のようなことをしようとしています:
HtmlEmail email = new HtmlEmail();
email.setBody(theHtml);
for(all emails)
{
//Option1: Use below line of code but need to remove the previous "current email"; that is, not send this to all the previous recipients AND the new one
//Line to remove previous email from HtmlEmail object
email.addTo(currentEmail, currentName);
//or option 2: email.setTo(new String[]{currentEmail});
}
コメントされていないメソッドの問題は、addToが以前に追加された電子メールアドレスを削除しないことです。私は確かに同じ受信者に同じメールを送りたくありません。非常に非常に悲惨です。したがって、その方法を実行する場合は、前の電子メールを削除する方法が必要になります。こんなことしたい
email.setTo(Arrays.asList(new String[]{}));
これに関する問題は、APIが、含まれているすべての文字列が有効な電子メールアドレスである必要があると述べていることです。そうでない場合、例外がスローされます。もう1つのオプションはemail.setTo
毎回使用することですが、受信者の名前を含めることはできません。誰かが上記のいずれかを行う方法を提案できますか?説明が必要な場合は、言葉で表現するのが少し難しいことを理解しています。前もって感謝します。