Лучший подход для отправки массовых писем с использованием JavaMail API - PullRequest
0 голосов
/ 28 ноября 2011

Есть ли лучший подход для отправки массовых писем с использованием JavaMail API. Я использую следующий подход.

enter code here Transport tr = session.getTransport("smtp");
tr.connect(smtphost, username, password);
tr.sendMessage(msg, msg.getAllRecipients());

Я использовал для отправки 'n'number сообщений, используя то же соединение. У меня есть какой-то другой способ отправки массовой рассылки. Пожалуйста, помогите мне в этом, чтобы получить лучшее решение.

Ответы [ 2 ]

0 голосов
/ 14 октября 2015

Вы можете использовать Пул потоков, поскольку он дает очень хорошую производительность. Я реализовал и делюсь с вами приведенным ниже фрагментом кода.

try { 
    ExecutorService executor = Executors.newFixedThreadPool("no. of threads");     
    // no. of threads is depend on your cpu/memory usage it's better to test with diff. no. of threads. 
    Runnable worker = new MyRunnable(message); 
    // message is the javax.mail.Message 
    executor.execute(worker); 
    executor.shutdown();     
    executor.awaitTermination(Long.MAX_VALUE, TimeUnit.MILLISECONDS); 
}
0 голосов
/ 28 ноября 2011

Каким образом вы хотите, чтобы оно было «лучше»?

Вы можете использовать несколько потоков для параллельной отправки большего количества сообщений, вплоть до предела, допустимого вашим почтовым сервером.

...