Emails are sent using SendMailSession
. Mail session encapsulates the process of preparing emails, opening and closing transport connections, and sending emails.
Mail session is created by the MailServer
.
SmtpServer smtpServer = MailServer.create().host("http://mail.com").port(21).buildSmtpMailServer();...SendMailSession session = smtpServer.createSession();session.open();session.sendMail(email1);session.sendMail(email2);session.close();
Since opening session and sending emails may produce EmailException
, it is necessary to wrap methods in try
-catch
block and closing the session in the finally
block.
The preferred way of sending e-mails is by using SSL protocol. Jodd supports secure e-mail sending. Just set the ssl()
flag while creating the server.
Here is an example of sending e-mail via Gmail (port 465
is set by default):
SmtpServer smtpServer = MailServer.create().ssl(true).host("smtp.gmail.com").auth("[email protected]", "password").buildSmtpMailServer();...SendMailSession session = smtpServer.createSession();session.open();session.sendMail(email);session.close();
Everything is the same, just a different session provider is used.