[
https://issues.apache.org/jira/browse/EMAIL-72?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Siegfried Goeschl resolved EMAIL-72.
------------------------------------
Resolution: Won't Fix
IMHO providing a production ready batch mailer is beyond the scope of this
library. I added EmailLiveTest.testSendingEmailsInBatch() to demonstrate how
batch sending can be done using commons-email.
> sending several emails in a batch
> ---------------------------------
>
> Key: EMAIL-72
> URL: https://issues.apache.org/jira/browse/EMAIL-72
> Project: Commons Email
> Issue Type: New Feature
> Environment: any
> Reporter: Hao Zheng
> Attachments: DemoMailer.java
>
>
> I found when i want to send several emails in one connection, Commons Email
> doesn't help. It connects to the SMTP server per email, and it spends more
> time on connecting and authentication than sending the mails themselve (most
> SMTP server needs authentication). So I have to code on the javamail api
> directly, something like:
> SMTPSSLTransport strans = (SMTPSSLTransport) sess.getTransport();
> strans.connect();
> int num = 1000;
> for (int i = 0; i < num; i++) {
> SMTPMessage email = createMessage(sess, num);
> strans.sendMessage(email, email.getAllRecipients());
> }
> strans.close();
> In my straightforward test, it saves me 2/3 of the time. So I think it would
> be nice to add this kind of function into Commons Email, to make it more
> useful.
> My suggestion is to extract a cleaner Email bean, which contains all email
> dependent information, e.g. TO, CC, Subject, etc, but leaves out all
> host/server dependent information, e.g. authenticator, host address, host
> port, etc. After that, we can still provide simple convenience method for
> those who only want to send one mail every time. And it is possible to add
> methods like 'addEmail' to add several mails before sending, and later on,
> when it is called 'send', we can send them in one SMTP connection. It's much
> like the API of javamail itself, but we can provide more convenient usage
> than it. Code will look like this:
> EmailTransmission trans = new EmailTransmission();
> trans.setHostName("smtp.myserver.org");
> HtmlEmail email1 = new HtmlEmail();
> ...
> HtmlEmail email2 = new HtmlEmail();
> ...
> trans.addEmail(email1);
> trans.addEmail(email2);
> ..
> trans.send();
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.