

{"id":25195,"date":"2018-08-15T03:30:01","date_gmt":"2018-08-15T03:30:01","guid":{"rendered":"https:\/\/data-flair.training\/blogs\/?p=25195"},"modified":"2018-09-15T12:27:18","modified_gmt":"2018-09-15T06:57:18","slug":"spring-java-mail","status":"publish","type":"post","link":"https:\/\/data-flair.training\/blogs\/spring-java-mail\/","title":{"rendered":"Spring Java Mail &#8211; Integration of Spring with Java Mail"},"content":{"rendered":"<h2>1. Spring Java Mail &#8211;\u00a0Objective<\/h2>\n<p>In our last <strong><a href=\"https:\/\/data-flair.training\/blogs\/spring-framework-tutorial\/\">Spring Framework tutorial<\/a><\/strong>, we studied <strong><a href=\"https:\/\/data-flair.training\/blogs\/spring-expression-language-operators\/\">Spring Expression Language Operators<\/a><\/strong>.<strong>\u00a0<\/strong>Here, in this Spring Java Mail Tutorial, we will discuss Integration of Spring with Java Mail. Moreover, we will learn the Java Mail API and how to send Spring mail using Gmail Server with an example.<br \/>\nSo, let&#8217;s start Spring Java Mail Tutorial.<\/p>\n<div id=\"attachment_25203\" style=\"width: 1210px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/08\/Spring-Java-Mail-01.jpg\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-25203\" class=\"wp-image-25203 size-full\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/08\/Spring-Java-Mail-01.jpg\" alt=\"Spring Java Mail\" width=\"1200\" height=\"628\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/08\/Spring-Java-Mail-01.jpg 1200w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/08\/Spring-Java-Mail-01-150x79.jpg 150w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/08\/Spring-Java-Mail-01-300x157.jpg 300w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/08\/Spring-Java-Mail-01-768x402.jpg 768w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/08\/Spring-Java-Mail-01-1024x536.jpg 1024w\" sizes=\"auto, (max-width: 1200px) 100vw, 1200px\" \/><\/a><p id=\"caption-attachment-25203\" class=\"wp-caption-text\">Spring Java Mail &#8211; Integration of Spring with Java Mail<\/p><\/div>\n<h2>2. Integration of Spring with Java Mail<\/h2>\n<p>In this Spring Java Mail article, you will learn about another Spring integration with Java Mail. This article will allow you to send and receive emails using the Spring Framework interfaces and classes. You will be using Java Mail API for sending and receiving the mail. For more understanding, you will see a working example with Eclipse IDE in place.<br \/>\n<strong><a href=\"https:\/\/data-flair.training\/blogs\/spring-bean-life-cycle\/\">Do you know about\u00a0<\/a><a href=\"https:\/\/data-flair.training\/blogs\/spring-bean-life-cycle\/\">the Spring Bean Life Cycle \u2013 Initialization and Destruction<\/a> <\/strong><\/p>\n<h2>3. Java Mail API<\/h2>\n<div id=\"attachment_25204\" style=\"width: 1090px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/08\/Spring-Java-Mail-API.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-25204\" class=\"wp-image-25204 size-full\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/08\/Spring-Java-Mail-API.png\" alt=\"Spring Java Mail\" width=\"1080\" height=\"1080\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/08\/Spring-Java-Mail-API.png 1080w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/08\/Spring-Java-Mail-API-150x150.png 150w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/08\/Spring-Java-Mail-API-300x300.png 300w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/08\/Spring-Java-Mail-API-768x768.png 768w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/08\/Spring-Java-Mail-API-1024x1024.png 1024w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/08\/Spring-Java-Mail-API-100x100.png 100w\" sizes=\"auto, (max-width: 1080px) 100vw, 1080px\" \/><\/a><p id=\"caption-attachment-25204\" class=\"wp-caption-text\">Java Mail API<\/p><\/div>\n<p>Spring Framework has many user interfaces and classes for sending\/receiving your emails. There is a package called <strong>org.springframework.mail<\/strong>. It is a root package which provides the mail support in the Spring Framework.<br \/>\nThe <strong><a href=\"https:\/\/data-flair.training\/blogs\/class-and-object-in-java\/\">classes<\/a><\/strong> and <strong><a href=\"https:\/\/data-flair.training\/blogs\/interface-in-java\/\">interfaces<\/a><\/strong> required for java mail support in Spring Framework are defined as follows:<\/p>\n<p>Spring Java Mail &#8211; API<\/p>\n<h3>a. MailSender Interface<\/h3>\n<p>It is a root interface which provides basic functionality for sending the simple mails.<\/p>\n<h3>b. JavaMailSender Interface<\/h3>\n<p>It is sub-interface of MailSender. It supports MIME messages and is used with MimeMessageHelper class. It is used for creating JavaMail MimeMessage. MimeMrssagePreparator mechanism is recommended for the use of this interface.<br \/>\n<strong><a href=\"https:\/\/data-flair.training\/blogs\/spring-web-services\/\">Follow this link to know about Spring WS Integration<\/a><\/strong><\/p>\n<h3>c. JavaMailSenderImpl Class<\/h3>\n<p>It has the implementation of the JavaMailSender interface and supports JavaMail Mime Messages and the Spring Simple Mail Messages.<\/p>\n<h3>d. SimpleMailMessage Class<\/h3>\n<p>It provides help in creating a simple mail message including from, to, cc, subject etc.<\/p>\n<h3>e. MimeMessagePreparator Interface<\/h3>\n<p>It is used as call back interface for preparing the JavaMail MIME messages.<\/p>\n<h3>f. MimeMessageHelper Class<\/h3>\n<p>It is used as a helper class which contains MIME message and offers support for inline elements like HTML text content, images etc.<\/p>\n<h2>4. Example of Sending Mail in Spring using Gmail Server<\/h2>\n<p>In this example you will see two Spring Mail classes:<\/p>\n<ul>\n<li>SimpleMailMessage for creating messages.<\/li>\n<li>JavaMailSenderImple for sending the messages.<\/li>\n<\/ul>\n<p>Following files are needed for sending the email using Spring Framework:<\/p>\n<ul>\n<li>MailMail.java<\/li>\n<li>ApplicationContext.java<\/li>\n<li>Test.java<\/li>\n<\/ul>\n<div id=\"attachment_25205\" style=\"width: 1090px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/08\/Example-of-sending-mail-in-Spring-using-Gmail-Server-01.jpg\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-25205\" class=\"wp-image-25205 size-full\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/08\/Example-of-sending-mail-in-Spring-using-Gmail-Server-01.jpg\" alt=\"Spring Java Mail\" width=\"1080\" height=\"1080\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/08\/Example-of-sending-mail-in-Spring-using-Gmail-Server-01.jpg 1080w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/08\/Example-of-sending-mail-in-Spring-using-Gmail-Server-01-150x150.jpg 150w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/08\/Example-of-sending-mail-in-Spring-using-Gmail-Server-01-300x300.jpg 300w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/08\/Example-of-sending-mail-in-Spring-using-Gmail-Server-01-768x768.jpg 768w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/08\/Example-of-sending-mail-in-Spring-using-Gmail-Server-01-1024x1024.jpg 1024w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/08\/Example-of-sending-mail-in-Spring-using-Gmail-Server-01-100x100.jpg 100w\" sizes=\"auto, (max-width: 1080px) 100vw, 1080px\" \/><\/a><p id=\"caption-attachment-25205\" class=\"wp-caption-text\">Spring Java Mail Tutorial &#8211;\u00a0Example of Sending Mail in Spring using Gmail Server<\/p><\/div>\n<p>Before you start you need to have mail.jar and activation.jar for running this example.<\/p>\n<h3>a. MailMail.java<\/h3>\n<pre class=\"EnlighterJSRAW\">package\u00a0com.example;\u00a0\u00a0\r\nimport\u00a0org.springframework.mail.MailSender;\u00a0\u00a0\r\nimport\u00a0org.springframework.mail.SimpleMailMessage;\u00a0\u00a0\r\npublic\u00a0class\u00a0MailMail{\u00a0\u00a0\r\n\u00a0\u00a0\u00a0\u00a0private\u00a0MailSender\u00a0mailSender;\u00a0\u00a0\u00a0\r\n\u00a0\u00a0\u00a0\u00a0public\u00a0void\u00a0setMailSender(MailSender\u00a0mailSender)\u00a0{\u00a0\u00a0\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0this.mailSender\u00a0=\u00a0mailSender;\u00a0\u00a0\r\n\u00a0\u00a0\u00a0\u00a0}\u00a0\u00a0\r\n\u00a0\u00a0\u00a0\u00a0public\u00a0void\u00a0sendMail(String\u00a0from,\u00a0String\u00a0to,\u00a0String\u00a0subject,\u00a0String\u00a0msg)\u00a0{\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0SimpleMailMessage\u00a0message\u00a0=\u00a0new\u00a0SimpleMailMessage();\u00a0\u00a0\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0message.setFrom(from);\u00a0\u00a0\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0message.setTo(to);\u00a0\u00a0\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0message.setSubject(subject);\u00a0\u00a0\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0message.setText(msg);\u00a0\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0mailSender.send(message);\u00a0\u00a0\u00a0\u00a0\u00a0\r\n\u00a0 \u00a0\u00a0\u00a0}\u00a0\u00a0\r\n }<\/pre>\n<p>It is the simple class which is used for defining mailSender property and the object of MailSender will be provided to this property during the runtime. The send() of MailSender interface is used for sending simple mail.<br \/>\n<strong><a href=\"https:\/\/data-flair.training\/blogs\/spring-mvc-tiles-3-integration\/\">Let&#8217;s explore Spring MVC Tiles 3 Integration\u00a0in detail<\/a><\/strong><\/p>\n<h3>b. ApplicationContext.xml<\/h3>\n<p>In this XML file, you will create a bean for JavaMailSenderImpl class. You need to define the values of the below properties:<\/p>\n<ul>\n<li>Host<\/li>\n<li>Username<\/li>\n<li>Password<\/li>\n<li>JavaMailProperties<\/li>\n<\/ul>\n<pre class=\"EnlighterJSRAW\">&lt;?xml\u00a0version=\"1.0\"\u00a0encoding=\"UTF-8\"?&gt;\u00a0\u00a0\r\n&lt;beans\u00a0\u00a0\r\n\u00a0\u00a0\u00a0\u00a0xmlns=\"http:\/\/www.springframework.org\/schema\/beans\"\u00a0\u00a0\r\n\u00a0\u00a0\u00a0\u00a0xmlns:xsi=\"http:\/\/www.w3.org\/2001\/XMLSchema-instance\"\u00a0\u00a0\r\n\u00a0\u00a0\u00a0\u00a0xmlns:p=\"http:\/\/www.springframework.org\/schema\/p\"\u00a0\u00a0\r\n\u00a0\u00a0\u00a0\u00a0xsi:schemaLocation=\"http:\/\/www.springframework.org\/schema\/beans\u00a0\u00a0\u00a0\r\nhttp:\/\/www.springframework.org\/schema\/beans\/spring-beans-3.0.xsd\"&gt;\u00a0\u00a0\u00a0\r\n&lt;bean\u00a0id=\"mailSender\"\u00a0class=\"org.springframework.mail.javamail.JavaMailSenderImpl\"&gt;\u00a0\u00a0\r\n\u00a0\u00a0&lt;property\u00a0name=\"host\"\u00a0value=\"smtp.gmail.com\"\u00a0\/&gt;\u00a0\u00a0\r\n\u00a0\u00a0\u00a0\u00a0&lt;property\u00a0name=\"username\"\u00a0value=\"yourgmailid@gmail.com\"\u00a0\/&gt;\u00a0\u00a0\r\n\u00a0\u00a0\u00a0\u00a0&lt;property\u00a0name=\"password\"\u00a0value=\"yourgmailpassword\"\u00a0\/&gt;\u00a0\u00a0\r\n\u00a0\u00a0\u00a0\u00a0&lt;property\u00a0name=\"javaMailProperties\"&gt;\u00a0\u00a0\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;props&gt;\u00a0\u00a0\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;prop\u00a0key=\"mail.smtp.auth\"&gt;true&lt;\/prop&gt;\u00a0\u00a0\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;prop\u00a0key=\"mail.smtp.socketFactory.port\"&gt;465&lt;\/prop&gt;\u00a0\u00a0\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;prop\u00a0key=\"mail.smtp.socketFactory.class\"&gt;javax.net.ssl.SSLSocketFactory&lt;\/prop&gt;\u00a0\u00a0\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;prop\u00a0key=\"mail.smtp.port\"&gt;465&lt;\/prop&gt;\u00a0\u00a0\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;\/props&gt;\u00a0\u00a0\r\n\u00a0\u00a0\u00a0\u00a0&lt;\/property&gt;\u00a0\u00a0\r\n&lt;\/bean&gt;\u00a0\u00a0\r\n&lt;bean\u00a0id=\"mailMail\"\u00a0class=\"com.example.MailMail\"&gt;\u00a0\u00a0\r\n\u00a0\u00a0\u00a0\u00a0&lt;property\u00a0name=\"mailSender\"\u00a0ref=\"mailSender\"\u00a0\/&gt;\u00a0\u00a0\r\n&lt;\/bean&gt;\u00a0\u00a0\r\n&lt;\/beans&gt;<\/pre>\n<div id=\"attachment_25206\" style=\"width: 751px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/08\/springmailapi.jpg\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-25206\" class=\"wp-image-25206 size-full\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/08\/springmailapi.jpg\" alt=\"Spring Java Mail\" width=\"741\" height=\"453\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/08\/springmailapi.jpg 741w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/08\/springmailapi-150x92.jpg 150w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/08\/springmailapi-300x183.jpg 300w\" sizes=\"auto, (max-width: 741px) 100vw, 741px\" \/><\/a><p id=\"caption-attachment-25206\" class=\"wp-caption-text\">Example of Sending Mail in Spring using Gmail Server<\/p><\/div>\n<h3>c.Test.java<\/h3>\n<p>This class gets the bean of email mail from the applicationContext.xml file and calls the sendmail method of MailMail class.<\/p>\n<pre class=\"EnlighterJSRAW\">package\u00a0com.example;\u00a0\u00a0\r\nimport\u00a0org.springframework.beans.factory.*;\u00a0\u00a0\r\nimport\u00a0org.springframework.beans.factory.xml.XmlBeanFactory;\u00a0\u00a0\r\nimport\u00a0org.springframework.core.io.*;\u00a0\u00a0\r\npublic\u00a0class\u00a0Test\u00a0{\u00a0\u00a0\u00a0\r\n      public\u00a0static\u00a0void\u00a0main(String[]\u00a0args)\u00a0{\u00a0\u00a0\u00a0\u00a0\u00a0\r\n      Resource\u00a0r=new\u00a0ClassPathResource(\"applicationContext.xml\");\u00a0\u00a0\r\n      BeanFactory\u00a0b=new\u00a0XmlBeanFactory(r);\u00a0\u00a0\r\n      MailMail\u00a0m=(MailMail)b.getBean(\"mailMail\");\u00a0\u00a0\r\n      String\u00a0sender=\"sendergmailid@gmail.com\";\/\/write\u00a0here\u00a0sender\u00a0gmail\u00a0id\u00a0\u00a0\r\n      String\u00a0receiver=\"receiveremailid@gmail.com\";\/\/write\u00a0here\u00a0receiver\u00a0id\u00a0\u00a0\r\n      m.sendMail(sender,receiver,\"hi\",\"welcome\");\u00a0\u00a0\r\n      System.out.println(\"success\");\u00a0\u00a0\r\n    }\u00a0\u00a0\r\n }<\/pre>\n<p><strong><a href=\"https:\/\/data-flair.training\/blogs\/spring-aop-tutorial\/\">Do you know about Spring AOP Tutorial<\/a><\/strong><br \/>\n<strong>To run the example:<\/strong><\/p>\n<ul>\n<li>Load the Spring <a href=\"https:\/\/data-flair.training\/blogs\/jar-file-in-java\/\"><strong>jar files for java<\/strong><\/a> mail.<\/li>\n<li>Load the jar files mail.jar and activation.jar<\/li>\n<li>Change the properties such as username and password in applicationContext.xml file.<\/li>\n<li>Change sender gmail id and receivemail id in Test.java file.<\/li>\n<li>Compile and run the Test class.<\/li>\n<\/ul>\n<p>So, this was all about Spring Java Mail Tutorial. Hope you like our explanation.<\/p>\n<h2>5. Conclusion<\/h2>\n<p>Hence, in this session, you learned about the Spring integration with Mail API. You saw how Java Mail API is used for sending and receiving the mail. For more understanding, you saw a working example on how to configure mail and send\/receive mails using Gmail server with Eclipse IDE in place. Still, you have any query, feel free to ask in the comment section.<br \/>\nRelated Topic &#8211;\u00a0<strong><a href=\"https:\/\/data-flair.training\/blogs\/beanpostprocessors\/\">Spring BeanPostProcessors<\/a><\/strong><br \/>\n<strong><a href=\"https:\/\/spring.io\/\">For reference<\/a><\/strong><span hidden class=\"__iawmlf-post-loop-links\" data-iawmlf-links=\"[{&quot;id&quot;:1823,&quot;href&quot;:&quot;https:\\\/\\\/spring.io&quot;,&quot;archived_href&quot;:&quot;http:\\\/\\\/web-wp.archive.org\\\/web\\\/20251002190622\\\/https:\\\/\\\/spring.io\\\/&quot;,&quot;redirect_href&quot;:&quot;&quot;,&quot;checks&quot;:[{&quot;date&quot;:&quot;2025-12-10 03:27:37&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2025-12-14 02:20:54&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2025-12-19 19:26:33&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2025-12-23 10:28:39&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2025-12-30 06:58:20&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-01-03 06:23:46&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-01-09 18:01:40&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-01-13 03:12:31&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-01-22 11:21:37&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-01-25 13:38:41&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-01-29 05:56:23&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-02 09:35:13&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-05 15:52:29&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-09 03:56:31&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-12 07:31:04&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-16 18:55:17&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-20 13:47:00&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-24 10:07:01&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-27 11:28:19&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-03 07:26:48&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-08 10:36:29&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-12 10:58:48&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-17 02:45:18&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-20 11:19:10&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-25 07:42:07&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-30 15:23:01&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-04 14:58:28&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-07 23:24:31&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-11 11:15:40&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-15 18:23:31&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-19 05:32:13&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-25 00:03:24&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-28 03:59:45&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-05-01 09:08:26&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-05-04 14:32:30&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-05-10 13:42:16&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-05-14 21:00:18&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-05-19 09:20:49&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-05-24 07:42:05&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-05-27 09:18:06&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-05-30 11:17:06&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-06-02 19:01:27&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-06-09 06:12:11&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-06-12 11:09:55&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-06-15 14:25:55&quot;,&quot;http_code&quot;:200}],&quot;broken&quot;:false,&quot;last_checked&quot;:{&quot;date&quot;:&quot;2026-06-15 14:25:55&quot;,&quot;http_code&quot;:200},&quot;process&quot;:&quot;done&quot;}]\"><\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>1. Spring Java Mail &#8211;\u00a0Objective In our last Spring Framework tutorial, we studied Spring Expression Language Operators.\u00a0Here, in this Spring Java Mail Tutorial, we will discuss Integration of Spring with Java Mail. Moreover, we&#46;&#46;&#46;<\/p>\n","protected":false},"author":5,"featured_media":25203,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[64],"tags":[1017,7588,7755,7756,7757,8483,8484,8725,12897,13336,14639],"class_list":["post-25195","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-spring","tag-applicationcontext-java","tag-java-mail-api","tag-javamail","tag-javamailsender-interface","tag-javamailsenderimpl-class","tag-mailmail-java","tag-mailsender-interface","tag-mimemessagehelper-class","tag-simplemailmessage-class","tag-spring-java-mail","tag-test-java"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.8 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Spring Java Mail - Integration of Spring with Java Mail - DataFlair<\/title>\n<meta name=\"description\" content=\"Spring Java Mail Tutorial - Integration of Spring with Java Mail, Java Mail API and how to send Spring mail using Gmail Server, Eclipse IDE Example\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/data-flair.training\/blogs\/spring-java-mail\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Spring Java Mail - Integration of Spring with Java Mail - DataFlair\" \/>\n<meta property=\"og:description\" content=\"Spring Java Mail Tutorial - Integration of Spring with Java Mail, Java Mail API and how to send Spring mail using Gmail Server, Eclipse IDE Example\" \/>\n<meta property=\"og:url\" content=\"https:\/\/data-flair.training\/blogs\/spring-java-mail\/\" \/>\n<meta property=\"og:site_name\" content=\"DataFlair\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/DataFlairWS\/\" \/>\n<meta property=\"article:published_time\" content=\"2018-08-15T03:30:01+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2018-09-15T06:57:18+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/08\/Spring-Java-Mail-01.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"628\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"DataFlair Team\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@DataFlairWS\" \/>\n<meta name=\"twitter:site\" content=\"@DataFlairWS\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"DataFlair Team\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutes\" \/>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Spring Java Mail - Integration of Spring with Java Mail - DataFlair","description":"Spring Java Mail Tutorial - Integration of Spring with Java Mail, Java Mail API and how to send Spring mail using Gmail Server, Eclipse IDE Example","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/data-flair.training\/blogs\/spring-java-mail\/","og_locale":"en_US","og_type":"article","og_title":"Spring Java Mail - Integration of Spring with Java Mail - DataFlair","og_description":"Spring Java Mail Tutorial - Integration of Spring with Java Mail, Java Mail API and how to send Spring mail using Gmail Server, Eclipse IDE Example","og_url":"https:\/\/data-flair.training\/blogs\/spring-java-mail\/","og_site_name":"DataFlair","article_publisher":"https:\/\/www.facebook.com\/DataFlairWS\/","article_published_time":"2018-08-15T03:30:01+00:00","article_modified_time":"2018-09-15T06:57:18+00:00","og_image":[{"width":1200,"height":628,"url":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/08\/Spring-Java-Mail-01.jpg","type":"image\/jpeg"}],"author":"DataFlair Team","twitter_card":"summary_large_image","twitter_creator":"@DataFlairWS","twitter_site":"@DataFlairWS","twitter_misc":{"Written by":"DataFlair Team","Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/data-flair.training\/blogs\/spring-java-mail\/#article","isPartOf":{"@id":"https:\/\/data-flair.training\/blogs\/spring-java-mail\/"},"author":{"name":"DataFlair Team","@id":"https:\/\/data-flair.training\/blogs\/#\/schema\/person\/7f83c342f5d1632d6f7b4b0b0f447823"},"headline":"Spring Java Mail &#8211; Integration of Spring with Java Mail","datePublished":"2018-08-15T03:30:01+00:00","dateModified":"2018-09-15T06:57:18+00:00","mainEntityOfPage":{"@id":"https:\/\/data-flair.training\/blogs\/spring-java-mail\/"},"wordCount":722,"commentCount":0,"publisher":{"@id":"https:\/\/data-flair.training\/blogs\/#organization"},"image":{"@id":"https:\/\/data-flair.training\/blogs\/spring-java-mail\/#primaryimage"},"thumbnailUrl":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/08\/Spring-Java-Mail-01.jpg","keywords":["ApplicationContext.java","Java Mail API","Javamail","JavaMailSender Interface","JavaMailSenderImpl Class","MailMail.java","MailSender Interface","MimeMessageHelper Class","SimpleMailMessage Class","Spring Java Mail","Test.java"],"articleSection":["Spring Tutorials"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/data-flair.training\/blogs\/spring-java-mail\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/data-flair.training\/blogs\/spring-java-mail\/","url":"https:\/\/data-flair.training\/blogs\/spring-java-mail\/","name":"Spring Java Mail - Integration of Spring with Java Mail - DataFlair","isPartOf":{"@id":"https:\/\/data-flair.training\/blogs\/#website"},"primaryImageOfPage":{"@id":"https:\/\/data-flair.training\/blogs\/spring-java-mail\/#primaryimage"},"image":{"@id":"https:\/\/data-flair.training\/blogs\/spring-java-mail\/#primaryimage"},"thumbnailUrl":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/08\/Spring-Java-Mail-01.jpg","datePublished":"2018-08-15T03:30:01+00:00","dateModified":"2018-09-15T06:57:18+00:00","description":"Spring Java Mail Tutorial - Integration of Spring with Java Mail, Java Mail API and how to send Spring mail using Gmail Server, Eclipse IDE Example","breadcrumb":{"@id":"https:\/\/data-flair.training\/blogs\/spring-java-mail\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/data-flair.training\/blogs\/spring-java-mail\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/data-flair.training\/blogs\/spring-java-mail\/#primaryimage","url":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/08\/Spring-Java-Mail-01.jpg","contentUrl":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/08\/Spring-Java-Mail-01.jpg","width":1200,"height":628,"caption":"Spring Java Mail"},{"@type":"BreadcrumbList","@id":"https:\/\/data-flair.training\/blogs\/spring-java-mail\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Blog Home","item":"https:\/\/data-flair.training\/blogs\/"},{"@type":"ListItem","position":2,"name":"Reading data from external files","item":"https:\/\/data-flair.training\/blogs\/tag\/reading-data-from-external-files\/"},{"@type":"ListItem","position":3,"name":"Spring Java Mail &#8211; Integration of Spring with Java Mail"}]},{"@type":"WebSite","@id":"https:\/\/data-flair.training\/blogs\/#website","url":"https:\/\/data-flair.training\/blogs\/","name":"DataFlair","description":"Learn Today. Lead Tomorrow.","publisher":{"@id":"https:\/\/data-flair.training\/blogs\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/data-flair.training\/blogs\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/data-flair.training\/blogs\/#organization","name":"DataFlair","url":"https:\/\/data-flair.training\/blogs\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/data-flair.training\/blogs\/#\/schema\/logo\/image\/","url":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2016\/07\/Data-Flair.png","contentUrl":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2016\/07\/Data-Flair.png","width":106,"height":48,"caption":"DataFlair"},"image":{"@id":"https:\/\/data-flair.training\/blogs\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/DataFlairWS\/","https:\/\/x.com\/DataFlairWS","https:\/\/www.linkedin.com\/company\/dataflair-web-services-pvt-ltd\/","https:\/\/www.youtube.com\/user\/DataFlairWS"]},{"@type":"Person","@id":"https:\/\/data-flair.training\/blogs\/#\/schema\/person\/7f83c342f5d1632d6f7b4b0b0f447823","name":"DataFlair Team","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/4cf3a74600d131330b8c481d519afd1574093ed89f6d3396a95393ad223eb7cd?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/4cf3a74600d131330b8c481d519afd1574093ed89f6d3396a95393ad223eb7cd?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/4cf3a74600d131330b8c481d519afd1574093ed89f6d3396a95393ad223eb7cd?s=96&d=mm&r=g","caption":"DataFlair Team"},"description":"DataFlair Team creates expert-level guides on programming, Java, Python, C++, DSA, AI, ML, data Science, Android, Flutter, MERN, Web Development, and technology. Our goal is to empower learners with easy-to-understand content. Explore our resources for career growth and practical learning.","url":"https:\/\/data-flair.training\/blogs\/author\/dfteam1\/"}]}},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/posts\/25195","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/comments?post=25195"}],"version-history":[{"count":3,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/posts\/25195\/revisions"}],"predecessor-version":[{"id":32707,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/posts\/25195\/revisions\/32707"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/media\/25203"}],"wp:attachment":[{"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/media?parent=25195"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/categories?post=25195"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/tags?post=25195"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}