<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-5308173152728311118</id><updated>2011-12-05T02:25:31.419-08:00</updated><title type='text'>JAVA=EVERY WHERE</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://gananathsun.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5308173152728311118/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://gananathsun.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Gananath Barik&lt;br&gt;Software Engineer</name><uri>http://www.blogger.com/profile/17396349875102820475</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://4.bp.blogspot.com/_D6JYKS-rFu4/S3Wb2fPz1MI/AAAAAAAAAAM/E9z-WqQor-o/S220/fdh.JPG'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>1</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-5308173152728311118.post-7337004544598942701</id><published>2011-12-01T23:27:00.000-08:00</published><updated>2011-12-02T01:42:39.032-08:00</updated><title type='text'>How to send mail using Spring and Java Mail Api</title><content type='html'>In this tutorial i will explain step by step how to integrate Spring with java mail.Spring provides easy configuration inside SpringContext xml file to enable integration with java mail. In this tutorial i have used myeclipse IDE for development.You can use any java development IDE of your choice.&lt;br /&gt;&lt;br /&gt;Jar Required:&lt;br /&gt;1)Java Mail jar(download from www.oracle.com)&lt;br /&gt;2)Spring2.5 jar(www.springsource.org/download)&lt;br /&gt;&lt;br /&gt;Steps:&lt;br /&gt;&lt;br /&gt;1)Create a java project&lt;br /&gt;2)Add Spring capabilities with the following libraries:&lt;br /&gt;AOP Library&lt;br /&gt;Core Library&lt;br /&gt;Misc. Library&lt;br /&gt;3)Add the mail jar files to project build path&lt;br /&gt;activation.jar&lt;br /&gt;dsn.jar&lt;br /&gt;imap.jar&lt;br /&gt;mail.jar&lt;br /&gt;mailapi.jar&lt;br /&gt;pop3.jar&lt;br /&gt;smtp.jar&lt;br /&gt;&lt;br /&gt;Component Required:&lt;br /&gt;4)Write your own SMTPAuthenticator class to verify the username(mail id) and password.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;GnbSMTPAutenticator.java&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;package com.gnb.spring.mail;&lt;br /&gt;&lt;br /&gt;import javax.mail.Authenticator;&lt;br /&gt;import javax.mail.PasswordAuthentication;&lt;br /&gt;&lt;br /&gt;public class GnbSMTPAuthenticator extends Authenticator {&lt;br /&gt;private String username;&lt;br /&gt;private String password;&lt;br /&gt;public GnbSMTPAuthenticator(String username, String password) {&lt;br /&gt;super();&lt;br /&gt;this.username = username;&lt;br /&gt;this.password = password;&lt;br /&gt;System.out.println("GnbSMTPAuthenticator invoked and finished");&lt;br /&gt;System.out.println(username);&lt;br /&gt;System.out.println(password);&lt;br /&gt;}&lt;br /&gt;public PasswordAuthentication getPasswordAuthentication()&lt;br /&gt;{&lt;br /&gt;System.out.println("Auth invoked...");&lt;br /&gt;return new PasswordAuthentication(username,password);&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;5)Configure your GnbSMTPAuthenticator class in the spring context xml with the valid email id &amp;amp; password&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;SpringContext.xml&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;&amp;lt;beans&lt;br /&gt;xmlns=&amp;quot;http://www.springframework.org/schema/beans&amp;quot;&lt;br /&gt;xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot;&lt;br /&gt;xsi:schemaLocation=&amp;quot;http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd&amp;quot;&amp;gt;&lt;br /&gt;&amp;lt;bean id=&amp;quot;smtpAuthenticator&amp;quot; class=&amp;quot;com.gnb.spring.mail.GnbSMTPAuthenticator&amp;quot;&amp;gt;&lt;br /&gt;&amp;lt;constructor-arg&amp;gt;&lt;br /&gt;&amp;lt;value&amp;gt;your mail id&amp;lt;/value&amp;gt;&lt;br /&gt;&amp;lt;/constructor-arg&amp;gt;&lt;br /&gt;&amp;lt;constructor-arg&amp;gt;&lt;br /&gt;&amp;lt;value&amp;gt;***your password****&amp;lt;/value&amp;gt;&lt;br /&gt;&amp;lt;/constructor-arg&amp;gt;&lt;br /&gt;&amp;lt;/bean&amp;gt;&lt;br /&gt;&amp;lt;bean id=&amp;quot;mailSession&amp;quot; class=&amp;quot;javax.mail.Session&amp;quot; factory-method=&amp;quot;getInstance&amp;quot;&amp;gt;&lt;br /&gt;&amp;lt;constructor-arg&amp;gt;&lt;br /&gt;&amp;lt;props&amp;gt;&lt;br /&gt;&amp;lt;prop key=&amp;quot;mail.smtp.auth&amp;quot;&amp;gt;true&amp;lt;/prop&amp;gt;&lt;br /&gt;&amp;lt;prop key=&amp;quot;mail.smtp.port&amp;quot;&amp;gt;465&amp;lt;/prop&amp;gt;&lt;br /&gt;&amp;lt;prop key=&amp;quot;mail.debug&amp;quot;&amp;gt;true&amp;lt;/prop&amp;gt;&lt;br /&gt;&amp;lt;prop key=&amp;quot;mail.smtp.socketFactory.port&amp;quot;&amp;gt;465&amp;lt;/prop&amp;gt;&lt;br /&gt;&amp;lt;prop key=&amp;quot;mail.smtp.socketFactory.class&amp;quot;&amp;gt;javax.net.ssl.SSLSocketFactory&amp;lt;/prop&amp;gt;&lt;br /&gt;&amp;lt;prop key=&amp;quot;mail.smtp.socketFactory.fallback&amp;quot;&amp;gt;false&amp;lt;/prop&amp;gt;&lt;br /&gt;&amp;lt;/props&amp;gt;&lt;br /&gt;&amp;lt;/constructor-arg&amp;gt;&lt;br /&gt;&amp;lt;constructor-arg ref=&amp;quot;smtpAuthenticator&amp;quot;/&amp;gt;&lt;br /&gt;&amp;lt;/bean&amp;gt;&lt;br /&gt;&amp;lt;bean id=&amp;quot;mailSender&amp;quot; class=&amp;quot;org.springframework.mail.javamail.JavaMailSenderImpl&amp;quot;&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;property name=&amp;quot;host&amp;quot; value=&amp;quot;smtp.gmail.com&amp;quot;/&amp;gt;&lt;br /&gt;&amp;lt;property name=&amp;quot;session&amp;quot; ref=&amp;quot;mailSession&amp;quot;/&amp;gt;&lt;br /&gt;&amp;lt;/bean&amp;gt;&lt;br /&gt;&amp;lt;bean id=&amp;quot;msgTemp&amp;quot; class=&amp;quot;org.springframework.mail.SimpleMailMessage&amp;quot;&amp;gt;&lt;br /&gt;&amp;lt;property name=&amp;quot;from&amp;quot; value=&amp;quot;your mail id&amp;quot;/&amp;gt;&lt;br /&gt;&amp;lt;/bean&amp;gt;&lt;br /&gt;&amp;lt;bean id=&amp;quot;workShop&amp;quot; class=&amp;quot;com.gnb.spring.mail.WorkshopMailService&amp;quot;&amp;gt;&lt;br /&gt;&amp;lt;property name=&amp;quot;mailSender&amp;quot; ref=&amp;quot;mailSender&amp;quot;/&amp;gt;&lt;br /&gt;&amp;lt;property name=&amp;quot;msgTemp&amp;quot; ref=&amp;quot;msgTemp&amp;quot;/&amp;gt;&lt;br /&gt;&amp;lt;/bean&amp;gt;&lt;br /&gt;&amp;lt;/beans&amp;gt;Note: you should write your own mail id and password which will be validated&lt;br /&gt;&lt;br /&gt;6)Configure the mailSession in SpringContext.xml with the following&lt;br /&gt;a)mail properties&lt;br /&gt;b)smtp authenticator&lt;br /&gt;&lt;br /&gt;7)Configure mailSender in the SpringContext with the following&lt;br /&gt;a)host&lt;br /&gt;b)mailsession&lt;br /&gt;&lt;br /&gt;8)Configure mailMessage in the SpringContext.xml&lt;br /&gt;&lt;br /&gt;9)Identify the business Services from where you want to deliver the mail and inject the following.&lt;br /&gt;a)mailsender&lt;br /&gt;b)mailmessage&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;WorkshopMailService.java&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;package com.gnb.spring.mail;&lt;br /&gt;&lt;br /&gt;import org.springframework.mail.SimpleMailMessage;&lt;br /&gt;import org.springframework.mail.javamail.JavaMailSender;&lt;br /&gt;&lt;br /&gt;public class WorkshopMailService {&lt;br /&gt;private JavaMailSender mailSender;&lt;br /&gt;private SimpleMailMessage msgTemp;&lt;br /&gt;public void setMailSender(JavaMailSender mailSender) {&lt;br /&gt;this.mailSender = mailSender;&lt;br /&gt;System.out.println("mailsender created..");&lt;br /&gt;}&lt;br /&gt;public void setMsgTemp(SimpleMailMessage msgTemp) {&lt;br /&gt;this.msgTemp = msgTemp;&lt;br /&gt;System.out.println("message Temp created..");&lt;br /&gt;}&lt;br /&gt;public void sendMail(String to,String sub,String body)&lt;br /&gt;{&lt;br /&gt;System.out.println("send mail invoked....");&lt;br /&gt;msgTemp.setTo(to);&lt;br /&gt;msgTemp.setSubject(sub);&lt;br /&gt;msgTemp.setText(body);&lt;br /&gt;mailSender.send(msgTemp);&lt;br /&gt;System.out.println("send mail finished....");&lt;br /&gt;}&lt;br /&gt;public JavaMailSender getMailSender() {&lt;br /&gt;return mailSender;&lt;br /&gt;}&lt;br /&gt;public SimpleMailMessage getMsgTemp() {&lt;br /&gt;return msgTemp;&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;10) Write your Client code as follows and test&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;MailClient.java&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;package com.gnb.spring.mail;&lt;br /&gt;&lt;br /&gt;import org.springframework.context.ApplicationContext;&lt;br /&gt;import org.springframework.context.support.ClassPathXmlApplicationContext;&lt;br /&gt;&lt;br /&gt;public class MailClient {&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt;* @param args&lt;br /&gt;*/&lt;br /&gt;public static void main(String[] args) {&lt;br /&gt;ApplicationContext ctx=new ClassPathXmlApplicationContext("applicationContext.xml");&lt;br /&gt;WorkshopMailService ws=(WorkshopMailService)ctx.getBean("workShop");&lt;br /&gt;System.out.println(ws);&lt;br /&gt;String to="ganesh.spring2@gmail.com";&lt;br /&gt;String sub="About Life";&lt;br /&gt;String body="Life is a rough paper,It is too difficult to understand but easy to destroy!!";&lt;br /&gt;ws.sendMail(to, sub, body);&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;pls let me know if you have any doubt...my mail id: &lt;br /&gt;&lt;br /&gt;ganesh.spring2@gmail.com&lt;br /&gt;&lt;br /&gt;Cheers:))))Have a nice day you guys......&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5308173152728311118-7337004544598942701?l=gananathsun.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gananathsun.blogspot.com/feeds/7337004544598942701/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gananathsun.blogspot.com/2011/12/how-to-send-mail-using-spring-and-java_01.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5308173152728311118/posts/default/7337004544598942701'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5308173152728311118/posts/default/7337004544598942701'/><link rel='alternate' type='text/html' href='http://gananathsun.blogspot.com/2011/12/how-to-send-mail-using-spring-and-java_01.html' title='How to send mail using Spring and Java Mail Api'/><author><name>Gananath Barik&lt;br&gt;Software Engineer</name><uri>http://www.blogger.com/profile/17396349875102820475</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://4.bp.blogspot.com/_D6JYKS-rFu4/S3Wb2fPz1MI/AAAAAAAAAAM/E9z-WqQor-o/S220/fdh.JPG'/></author><thr:total>0</thr:total></entry></feed>
