In this post, I'll show how to configure the JBoss mail service to use Gmail as an SMTP server, so that you'll be able to send emails using a valid Gmail account, from within an application that has been deployed in JBoss.
1° Environment / Prerequisites
- As in the other posts, I am running JBoss AS 6
- Any valid Gmail account
In the deploy directory of your JBoss server, you'll find a file name mail-service.xml (note that this file only exists in the deploy directory of the following server profiles : ALL, DEFAULT and standard). Simply edit this file as shown below :
java:/GMail someuser@gmail.com myPassword jboss:service=Naming
On the personal project I am currently working at, mails are sent from a business method within a stateless session bean. Here's the code excerpt that does send the mail :
Context initCtx;
try {
initCtx = new InitialContext();
Session session = (Session) initCtx.lookup("java:/GMail");
Message message = new MimeMessage(session);
InternetAddress to[] = new InternetAddress[1];
to[0] = new InternetAddress("destination@gmail.com");
message.setRecipients(Message.RecipientType.TO, to);
message.setSubject("How to send a mail with GMAIL from JBoss AS");
message.setContent("Hello world", "text/plain");
Transport.send(message);
} catch (NamingException e) {
e.printStackTrace();
} catch (AddressException e) {
e.printStackTrace();
} catch (MessagingException e) {
e.printStackTrace();
}
Now, let's take a look at the recipient mailbox :

No comments:
Post a Comment
Note: Only a member of this blog may post a comment.