{"id":101519,"date":"2020-02-02T15:15:17","date_gmt":"2020-02-02T13:15:17","guid":{"rendered":"https:\/\/www.javacodegeeks.com\/?p=101519"},"modified":"2020-01-22T13:33:40","modified_gmt":"2020-01-22T11:33:40","slug":"java-mail-sent-over-tls","status":"publish","type":"post","link":"https:\/\/www.javacodegeeks.com\/2020\/02\/java-mail-sent-over-tls.html","title":{"rendered":"Java Mail Sent Over TLS"},"content":{"rendered":"<h2 class=\"wp-block-heading\">Abstract<\/h2>\n<p>The purpose of this blog is to demonstrate how to use Java Mail to send an email using an SMTP server with a TLS connection.<\/p>\n<h2 class=\"wp-block-heading\">Disclaimer<\/h2>\n<p>This post is solely informative. Critically think before using any information presented. Learn from it but ultimately make your own decisions at your own risk.<\/p>\n<h2 class=\"wp-block-heading\">Requirements<\/h2>\n<p>I did all of the work for this post using the following major technologies. You may be able to do the same thing with different technologies or versions, but no guarantees.<\/p>\n<ul class=\"wp-block-list\">\n<li>NetBeans 11.2<\/li>\n<li>Maven 3.3.9 (bundled with NetBeans)<\/li>\n<li>Java 11 (zulu11.35.15-ca-jdk11.0.5-win_x64)<\/li>\n<\/ul>\n<div>\n<div id=\"highlighter_918671\" class=\"syntaxhighlighter  java\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td class=\"gutter\">\n<div class=\"line number1 index0 alt2\">1<\/div>\n<div class=\"line number2 index1 alt1\">2<\/div>\n<div class=\"line number3 index2 alt2\">3<\/div>\n<div class=\"line number4 index3 alt1\">4<\/div>\n<div class=\"line number5 index4 alt2\">5<\/div>\n<div class=\"line number6 index5 alt1\">6<\/div>\n<\/td>\n<td class=\"code\">\n<div class=\"container\">\n<div class=\"line number1 index0 alt2\"><code class=\"java plain\">&lt;dependency&gt;<\/code><\/div>\n<div class=\"line number2 index1 alt1\"><code class=\"java spaces\">&nbsp;&nbsp;<\/code><code class=\"java plain\">&lt;groupId&gt;javax.mail&lt;\/groupId&gt;<\/code><\/div>\n<div class=\"line number3 index2 alt2\"><code class=\"java spaces\">&nbsp;&nbsp;<\/code><code class=\"java plain\">&lt;artifactId&gt;mail&lt;\/artifactId&gt;<\/code><\/div>\n<div class=\"line number4 index3 alt1\"><code class=\"java spaces\">&nbsp;&nbsp;<\/code><code class=\"java plain\">&lt;version&gt;<\/code><code class=\"java value\">1.4<\/code><code class=\"java plain\">&lt;\/version&gt;<\/code><\/div>\n<div class=\"line number5 index4 alt2\"><code class=\"java spaces\">&nbsp;&nbsp;<\/code><code class=\"java plain\">&lt;scope&gt;test&lt;\/scope&gt;<\/code><\/div>\n<div class=\"line number6 index5 alt1\"><code class=\"java plain\">&lt;\/dependency&gt;<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<h2 class=\"wp-block-heading\">Download<\/h2>\n<p>Visit my GitHub page <a href=\"https:\/\/github.com\/mjremijan\">https:\/\/github.com\/mjremijan<\/a> to see all of my open source projects. The code for this post is located at <a title=\"thoth-email\" href=\"https:\/\/github.com\/mjremijan\/thoth-email\">https:\/\/github.com\/mjremijan\/thoth-email<\/a> in the <a title=\"thoth-email-via-tls\" href=\"https:\/\/github.com\/mjremijan\/thoth-email\/tree\/master\/thoth-email-via-tls\">thoth-email-via-tls<\/a> module.<\/p>\n<h2 class=\"wp-block-heading\">Properties<\/h2>\n<p>This example uses an <code>smtp-tls-outlook.properties<\/code> file to hold the SMTP server information. I used my personal Outlook account for testing, hence the use of the word <code>outlook<\/code> in the name of the properties file. What\u2019s important are the contents of the file, shown in Listing 1.<\/p>\n<h2 class=\"wp-block-heading\">Listing 1 &#8211; Properties file<\/h2>\n<div>\n<div id=\"highlighter_87793\" class=\"syntaxhighlighter  java\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td class=\"gutter\">\n<div class=\"line number1 index0 alt2\">01<\/div>\n<div class=\"line number2 index1 alt1\">02<\/div>\n<div class=\"line number3 index2 alt2\">03<\/div>\n<div class=\"line number4 index3 alt1\">04<\/div>\n<div class=\"line number5 index4 alt2\">05<\/div>\n<div class=\"line number6 index5 alt1\">06<\/div>\n<div class=\"line number7 index6 alt2\">07<\/div>\n<div class=\"line number8 index7 alt1\">08<\/div>\n<div class=\"line number9 index8 alt2\">09<\/div>\n<div class=\"line number10 index9 alt1\">10<\/div>\n<div class=\"line number11 index10 alt2\">11<\/div>\n<div class=\"line number12 index11 alt1\">12<\/div>\n<div class=\"line number13 index12 alt2\">13<\/div>\n<div class=\"line number14 index13 alt1\">14<\/div>\n<div class=\"line number15 index14 alt2\">15<\/div>\n<div class=\"line number16 index15 alt1\">16<\/div>\n<div class=\"line number17 index16 alt2\">17<\/div>\n<div class=\"line number18 index17 alt1\">18<\/div>\n<div class=\"line number19 index18 alt2\">19<\/div>\n<div class=\"line number20 index19 alt1\">20<\/div>\n<div class=\"line number21 index20 alt2\">21<\/div>\n<div class=\"line number22 index21 alt1\">22<\/div>\n<div class=\"line number23 index22 alt2\">23<\/div>\n<div class=\"line number24 index23 alt1\">24<\/div>\n<div class=\"line number25 index24 alt2\">25<\/div>\n<div class=\"line number26 index25 alt1\">26<\/div>\n<div class=\"line number27 index26 alt2\">27<\/div>\n<div class=\"line number28 index27 alt1\">28<\/div>\n<div class=\"line number29 index28 alt2\">29<\/div>\n<div class=\"line number30 index29 alt1\">30<\/div>\n<div class=\"line number31 index30 alt2\">31<\/div>\n<div class=\"line number32 index31 alt1\">32<\/div>\n<div class=\"line number33 index32 alt2\">33<\/div>\n<div class=\"line number34 index33 alt1\">34<\/div>\n<div class=\"line number35 index34 alt2\">35<\/div>\n<div class=\"line number36 index35 alt1\">36<\/div>\n<div class=\"line number37 index36 alt2\">37<\/div>\n<div class=\"line number38 index37 alt1\">38<\/div>\n<div class=\"line number39 index38 alt2\">39<\/div>\n<\/td>\n<td class=\"code\">\n<div class=\"container\">\n<div class=\"line number1 index0 alt2\"><code class=\"java plain\"># This is the name of the SMTP host machine.<\/code><\/div>\n<div class=\"line number2 index1 alt1\"><code class=\"java plain\">host=<\/code><\/div>\n<div class=\"line number3 index2 alt2\">&nbsp;<\/div>\n<div class=\"line number4 index3 alt1\"><code class=\"java plain\"># This is the port number of the SMTP host machine.<\/code><\/div>\n<div class=\"line number5 index4 alt2\"><code class=\"java plain\"># The same host may support both SSL and TLS but on<\/code><\/div>\n<div class=\"line number6 index5 alt1\"><code class=\"java plain\"># different ports. So make sure you get the TLS port.<\/code><\/div>\n<div class=\"line number7 index6 alt2\"><code class=\"java plain\">port=<\/code><\/div>\n<div class=\"line number8 index7 alt1\">&nbsp;<\/div>\n<div class=\"line number9 index8 alt2\"><code class=\"java plain\"># This is what you use in the \u201cusername\u201d field when<\/code><\/div>\n<div class=\"line number10 index9 alt1\"><code class=\"java plain\"># you login. Typically <\/code><code class=\"java keyword\">this<\/code> <code class=\"java plain\">is the same as your email<\/code><\/div>\n<div class=\"line number11 index10 alt2\"><code class=\"java plain\"># address, but <\/code><code class=\"java keyword\">this<\/code> <code class=\"java plain\">isn\u2019t always the <\/code><code class=\"java keyword\">case<\/code><code class=\"java plain\">.<\/code><\/div>\n<div class=\"line number12 index11 alt1\"><code class=\"java plain\">username=<\/code><\/div>\n<div class=\"line number13 index12 alt2\">&nbsp;<\/div>\n<div class=\"line number14 index13 alt1\"><code class=\"java plain\"># This is what you use in the \u201cpassword\u201d field when<\/code><\/div>\n<div class=\"line number15 index14 alt2\"><code class=\"java plain\"># you login. This value is CLEAR TEXT, so keep <\/code><code class=\"java keyword\">this<\/code><\/div>\n<div class=\"line number16 index15 alt1\"><code class=\"java plain\"># properties file safe.<\/code><\/div>\n<div class=\"line number17 index16 alt2\"><code class=\"java plain\">password=<\/code><\/div>\n<div class=\"line number18 index17 alt1\">&nbsp;<\/div>\n<div class=\"line number19 index18 alt2\"><code class=\"java plain\"># This is the email address you want <\/code><code class=\"java keyword\">for<\/code> <code class=\"java plain\">the<\/code><\/div>\n<div class=\"line number20 index19 alt1\"><code class=\"java plain\"># email\u2019s FROM field. Enter the value using<\/code><\/div>\n<div class=\"line number21 index20 alt2\"><code class=\"java plain\"># the format shown below. Typically <\/code><code class=\"java keyword\">this<\/code> <code class=\"java plain\">is<\/code><\/div>\n<div class=\"line number22 index21 alt1\"><code class=\"java plain\"># just your email address <\/code><code class=\"java keyword\">for<\/code> <code class=\"java plain\">the account.<\/code><\/div>\n<div class=\"line number23 index22 alt2\"><code class=\"java plain\">from=FIRSTNAME LASTNAME &lt;ADDRESS<\/code><code class=\"java color1\">@EMAIL<\/code><code class=\"java plain\">.COM&gt;<\/code><\/div>\n<div class=\"line number24 index23 alt1\">&nbsp;<\/div>\n<div class=\"line number25 index24 alt2\"><code class=\"java plain\"># This is the email address you want <\/code><code class=\"java keyword\">for<\/code> <code class=\"java plain\">the<\/code><\/div>\n<div class=\"line number26 index25 alt1\"><code class=\"java plain\"># email\u2019s REPLY_TO field. Enter the value using<\/code><\/div>\n<div class=\"line number27 index26 alt2\"><code class=\"java plain\"># the format shown below. Typically <\/code><code class=\"java keyword\">this<\/code> <code class=\"java plain\">is<\/code><\/div>\n<div class=\"line number28 index27 alt1\"><code class=\"java plain\"># just your email address <\/code><code class=\"java keyword\">for<\/code> <code class=\"java plain\">the account. Also<\/code><\/div>\n<div class=\"line number29 index28 alt2\"><code class=\"java plain\"># typically <\/code><code class=\"java keyword\">this<\/code> <code class=\"java plain\">is the same as `from` above.<\/code><\/div>\n<div class=\"line number30 index29 alt1\"><code class=\"java plain\"># But be warned, <\/code><code class=\"java keyword\">if<\/code> <code class=\"java plain\">an email\u2019s FROM and REPLY_TO <\/code><\/div>\n<div class=\"line number31 index30 alt2\"><code class=\"java plain\"># are different, that\u2019s may be flagged as spam<\/code><\/div>\n<div class=\"line number32 index31 alt1\"><code class=\"java plain\"># and never be delivered. So keep `from` and<\/code><\/div>\n<div class=\"line number33 index32 alt2\"><code class=\"java plain\"># `reply` the same <\/code><code class=\"java keyword\">for<\/code> <code class=\"java plain\">initial testing<\/code><\/div>\n<div class=\"line number34 index33 alt1\"><code class=\"java plain\">reply=FIRSTNAME LASTNAME &lt;ADDRESS<\/code><code class=\"java color1\">@EMAIL<\/code><code class=\"java plain\">.COM&gt;<\/code><\/div>\n<div class=\"line number35 index34 alt2\">&nbsp;<\/div>\n<div class=\"line number36 index35 alt1\"><code class=\"java plain\"># This is the email address you want to send<\/code><\/div>\n<div class=\"line number37 index36 alt2\"><code class=\"java plain\"># the email to. For testing, it\u2019s a good idea<\/code><\/div>\n<div class=\"line number38 index37 alt1\"><code class=\"java plain\"># to send it to yourself first.<\/code><\/div>\n<div class=\"line number39 index38 alt2\"><code class=\"java plain\">to=FIRSTNAME LASTNAME &lt;ADDRESS<\/code><code class=\"java color1\">@EMAIL<\/code><code class=\"java plain\">.COM&gt;<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>Now that you have a properties file, next let\u2019s take a look at the code.<\/p>\n<h2 class=\"wp-block-heading\">Code<\/h2>\n<p>This is a JUnit test demonstrating how to use Java Mail to send an email using an SMTP server with a TLS connection. Listing 2 shows the code.<div style=\"display:inline-block; margin: 15px 0;\"> <div id=\"adngin-JavaCodeGeeks_incontent_video-0\" style=\"display:inline-block;\"><\/div> <\/div><\/p>\n<p><strong>NOTE<\/strong> For initial testing, always check your SPAM folder. A rule can always be added to deliver to your INBOX.<\/p>\n<h2 class=\"wp-block-heading\">Listing 2 &#8211; Java Mail example<\/h2>\n<div>\n<div id=\"highlighter_252787\" class=\"syntaxhighlighter  java\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td class=\"gutter\">\n<div class=\"line number1 index0 alt2\">001<\/div>\n<div class=\"line number2 index1 alt1\">002<\/div>\n<div class=\"line number3 index2 alt2\">003<\/div>\n<div class=\"line number4 index3 alt1\">004<\/div>\n<div class=\"line number5 index4 alt2\">005<\/div>\n<div class=\"line number6 index5 alt1\">006<\/div>\n<div class=\"line number7 index6 alt2\">007<\/div>\n<div class=\"line number8 index7 alt1\">008<\/div>\n<div class=\"line number9 index8 alt2\">009<\/div>\n<div class=\"line number10 index9 alt1\">010<\/div>\n<div class=\"line number11 index10 alt2\">011<\/div>\n<div class=\"line number12 index11 alt1\">012<\/div>\n<div class=\"line number13 index12 alt2\">013<\/div>\n<div class=\"line number14 index13 alt1\">014<\/div>\n<div class=\"line number15 index14 alt2\">015<\/div>\n<div class=\"line number16 index15 alt1\">016<\/div>\n<div class=\"line number17 index16 alt2\">017<\/div>\n<div class=\"line number18 index17 alt1\">018<\/div>\n<div class=\"line number19 index18 alt2\">019<\/div>\n<div class=\"line number20 index19 alt1\">020<\/div>\n<div class=\"line number21 index20 alt2\">021<\/div>\n<div class=\"line number22 index21 alt1\">022<\/div>\n<div class=\"line number23 index22 alt2\">023<\/div>\n<div class=\"line number24 index23 alt1\">024<\/div>\n<div class=\"line number25 index24 alt2\">025<\/div>\n<div class=\"line number26 index25 alt1\">026<\/div>\n<div class=\"line number27 index26 alt2\">027<\/div>\n<div class=\"line number28 index27 alt1\">028<\/div>\n<div class=\"line number29 index28 alt2\">029<\/div>\n<div class=\"line number30 index29 alt1\">030<\/div>\n<div class=\"line number31 index30 alt2\">031<\/div>\n<div class=\"line number32 index31 alt1\">032<\/div>\n<div class=\"line number33 index32 alt2\">033<\/div>\n<div class=\"line number34 index33 alt1\">034<\/div>\n<div class=\"line number35 index34 alt2\">035<\/div>\n<div class=\"line number36 index35 alt1\">036<\/div>\n<div class=\"line number37 index36 alt2\">037<\/div>\n<div class=\"line number38 index37 alt1\">038<\/div>\n<div class=\"line number39 index38 alt2\">039<\/div>\n<div class=\"line number40 index39 alt1\">040<\/div>\n<div class=\"line number41 index40 alt2\">041<\/div>\n<div class=\"line number42 index41 alt1\">042<\/div>\n<div class=\"line number43 index42 alt2\">043<\/div>\n<div class=\"line number44 index43 alt1\">044<\/div>\n<div class=\"line number45 index44 alt2\">045<\/div>\n<div class=\"line number46 index45 alt1\">046<\/div>\n<div class=\"line number47 index46 alt2\">047<\/div>\n<div class=\"line number48 index47 alt1\">048<\/div>\n<div class=\"line number49 index48 alt2\">049<\/div>\n<div class=\"line number50 index49 alt1\">050<\/div>\n<div class=\"line number51 index50 alt2\">051<\/div>\n<div class=\"line number52 index51 alt1\">052<\/div>\n<div class=\"line number53 index52 alt2\">053<\/div>\n<div class=\"line number54 index53 alt1\">054<\/div>\n<div class=\"line number55 index54 alt2\">055<\/div>\n<div class=\"line number56 index55 alt1\">056<\/div>\n<div class=\"line number57 index56 alt2\">057<\/div>\n<div class=\"line number58 index57 alt1\">058<\/div>\n<div class=\"line number59 index58 alt2\">059<\/div>\n<div class=\"line number60 index59 alt1\">060<\/div>\n<div class=\"line number61 index60 alt2\">061<\/div>\n<div class=\"line number62 index61 alt1\">062<\/div>\n<div class=\"line number63 index62 alt2\">063<\/div>\n<div class=\"line number64 index63 alt1\">064<\/div>\n<div class=\"line number65 index64 alt2\">065<\/div>\n<div class=\"line number66 index65 alt1\">066<\/div>\n<div class=\"line number67 index66 alt2\">067<\/div>\n<div class=\"line number68 index67 alt1\">068<\/div>\n<div class=\"line number69 index68 alt2\">069<\/div>\n<div class=\"line number70 index69 alt1\">070<\/div>\n<div class=\"line number71 index70 alt2\">071<\/div>\n<div class=\"line number72 index71 alt1\">072<\/div>\n<div class=\"line number73 index72 alt2\">073<\/div>\n<div class=\"line number74 index73 alt1\">074<\/div>\n<div class=\"line number75 index74 alt2\">075<\/div>\n<div class=\"line number76 index75 alt1\">076<\/div>\n<div class=\"line number77 index76 alt2\">077<\/div>\n<div class=\"line number78 index77 alt1\">078<\/div>\n<div class=\"line number79 index78 alt2\">079<\/div>\n<div class=\"line number80 index79 alt1\">080<\/div>\n<div class=\"line number81 index80 alt2\">081<\/div>\n<div class=\"line number82 index81 alt1\">082<\/div>\n<div class=\"line number83 index82 alt2\">083<\/div>\n<div class=\"line number84 index83 alt1\">084<\/div>\n<div class=\"line number85 index84 alt2\">085<\/div>\n<div class=\"line number86 index85 alt1\">086<\/div>\n<div class=\"line number87 index86 alt2\">087<\/div>\n<div class=\"line number88 index87 alt1\">088<\/div>\n<div class=\"line number89 index88 alt2\">089<\/div>\n<div class=\"line number90 index89 alt1\">090<\/div>\n<div class=\"line number91 index90 alt2\">091<\/div>\n<div class=\"line number92 index91 alt1\">092<\/div>\n<div class=\"line number93 index92 alt2\">093<\/div>\n<div class=\"line number94 index93 alt1\">094<\/div>\n<div class=\"line number95 index94 alt2\">095<\/div>\n<div class=\"line number96 index95 alt1\">096<\/div>\n<div class=\"line number97 index96 alt2\">097<\/div>\n<div class=\"line number98 index97 alt1\">098<\/div>\n<div class=\"line number99 index98 alt2\">099<\/div>\n<div class=\"line number100 index99 alt1\">100<\/div>\n<div class=\"line number101 index100 alt2\">101<\/div>\n<div class=\"line number102 index101 alt1\">102<\/div>\n<div class=\"line number103 index102 alt2\">103<\/div>\n<div class=\"line number104 index103 alt1\">104<\/div>\n<\/td>\n<td class=\"code\">\n<div class=\"container\">\n<div class=\"line number1 index0 alt2\"><code class=\"java keyword\">package<\/code> <code class=\"java plain\">org.thoth.email.via.tls;<\/code><\/div>\n<div class=\"line number2 index1 alt1\">&nbsp;<\/div>\n<div class=\"line number3 index2 alt2\"><code class=\"java keyword\">import<\/code> <code class=\"java plain\">java.net.InetAddress;<\/code><\/div>\n<div class=\"line number4 index3 alt1\"><code class=\"java keyword\">import<\/code> <code class=\"java plain\">java.text.SimpleDateFormat;<\/code><\/div>\n<div class=\"line number5 index4 alt2\"><code class=\"java keyword\">import<\/code> <code class=\"java plain\">java.util.Date;<\/code><\/div>\n<div class=\"line number6 index5 alt1\"><code class=\"java keyword\">import<\/code> <code class=\"java plain\">java.util.Properties;<\/code><\/div>\n<div class=\"line number7 index6 alt2\"><code class=\"java keyword\">import<\/code> <code class=\"java plain\">javax.mail.Authenticator;<\/code><\/div>\n<div class=\"line number8 index7 alt1\"><code class=\"java keyword\">import<\/code> <code class=\"java plain\">javax.mail.Message;<\/code><\/div>\n<div class=\"line number9 index8 alt2\"><code class=\"java keyword\">import<\/code> <code class=\"java plain\">javax.mail.PasswordAuthentication;<\/code><\/div>\n<div class=\"line number10 index9 alt1\"><code class=\"java keyword\">import<\/code> <code class=\"java plain\">javax.mail.Session;<\/code><\/div>\n<div class=\"line number11 index10 alt2\"><code class=\"java keyword\">import<\/code> <code class=\"java plain\">javax.mail.Transport;<\/code><\/div>\n<div class=\"line number12 index11 alt1\"><code class=\"java keyword\">import<\/code> <code class=\"java plain\">javax.mail.internet.InternetAddress;<\/code><\/div>\n<div class=\"line number13 index12 alt2\"><code class=\"java keyword\">import<\/code> <code class=\"java plain\">javax.mail.internet.MimeBodyPart;<\/code><\/div>\n<div class=\"line number14 index13 alt1\"><code class=\"java keyword\">import<\/code> <code class=\"java plain\">javax.mail.internet.MimeMessage;<\/code><\/div>\n<div class=\"line number15 index14 alt2\"><code class=\"java keyword\">import<\/code> <code class=\"java plain\">javax.mail.internet.MimeMultipart;<\/code><\/div>\n<div class=\"line number16 index15 alt1\"><code class=\"java keyword\">import<\/code> <code class=\"java plain\">org.junit.jupiter.api.BeforeEach;<\/code><\/div>\n<div class=\"line number17 index16 alt2\"><code class=\"java keyword\">import<\/code> <code class=\"java plain\">org.junit.jupiter.api.Test;<\/code><\/div>\n<div class=\"line number18 index17 alt1\">&nbsp;<\/div>\n<div class=\"line number19 index18 alt2\"><code class=\"java keyword\">public<\/code> <code class=\"java keyword\">class<\/code> <code class=\"java plain\">TlsTest {<\/code><\/div>\n<div class=\"line number20 index19 alt1\">&nbsp;<\/div>\n<div class=\"line number21 index20 alt2\"><code class=\"java spaces\">&nbsp;&nbsp;<\/code><code class=\"java keyword\">public<\/code> <code class=\"java plain\">TlsTest() {<\/code><\/div>\n<div class=\"line number22 index21 alt1\"><code class=\"java spaces\">&nbsp;&nbsp;<\/code><code class=\"java plain\">}<\/code><\/div>\n<div class=\"line number23 index22 alt2\">&nbsp;<\/div>\n<div class=\"line number24 index23 alt1\"><code class=\"java spaces\">&nbsp;&nbsp;<\/code><code class=\"java keyword\">protected<\/code> <code class=\"java plain\">String now, hostname;<\/code><\/div>\n<div class=\"line number25 index24 alt2\">&nbsp;<\/div>\n<div class=\"line number26 index25 alt1\"><code class=\"java spaces\">&nbsp;&nbsp;<\/code><code class=\"java keyword\">protected<\/code> <code class=\"java plain\">Properties outlook;<\/code><\/div>\n<div class=\"line number27 index26 alt2\">&nbsp;<\/div>\n<div class=\"line number28 index27 alt1\"><code class=\"java spaces\">&nbsp;&nbsp;<\/code><code class=\"java color1\">@BeforeEach<\/code><\/div>\n<div class=\"line number29 index28 alt2\"><code class=\"java spaces\">&nbsp;&nbsp;<\/code><code class=\"java keyword\">public<\/code> <code class=\"java keyword\">void<\/code> <code class=\"java plain\">setUp() <\/code><code class=\"java keyword\">throws<\/code> <code class=\"java plain\">Exception {<\/code><\/div>\n<div class=\"line number30 index29 alt1\"><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java plain\">now = <\/code><code class=\"java keyword\">new<\/code> <code class=\"java plain\">SimpleDateFormat(<\/code><code class=\"java string\">\"MM-dd-yyyy hh:mm:ss a\"<\/code><code class=\"java plain\">).format(<\/code><code class=\"java keyword\">new<\/code> <code class=\"java plain\">Date());<\/code><\/div>\n<div class=\"line number31 index30 alt2\"><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java plain\">hostname = InetAddress.getLocalHost().getHostName();<\/code><\/div>\n<div class=\"line number32 index31 alt1\"><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java plain\">outlook = <\/code><code class=\"java keyword\">new<\/code> <code class=\"java plain\">Properties();<\/code><\/div>\n<div class=\"line number33 index32 alt2\"><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java plain\">outlook.load(<\/code><code class=\"java keyword\">this<\/code><code class=\"java plain\">.getClass().getResourceAsStream(<\/code><code class=\"java string\">\"\/smtp-tls-outlook.properties\"<\/code><code class=\"java plain\">));<\/code><\/div>\n<div class=\"line number34 index33 alt1\"><code class=\"java spaces\">&nbsp;&nbsp;<\/code><code class=\"java plain\">}<\/code><\/div>\n<div class=\"line number35 index34 alt2\">&nbsp;<\/div>\n<div class=\"line number36 index35 alt1\"><code class=\"java spaces\">&nbsp;&nbsp;<\/code><code class=\"java color1\">@Test<\/code><\/div>\n<div class=\"line number37 index36 alt2\"><code class=\"java spaces\">&nbsp;&nbsp;<\/code><code class=\"java keyword\">public<\/code> <code class=\"java keyword\">void<\/code> <code class=\"java plain\">a_test() <\/code><code class=\"java keyword\">throws<\/code> <code class=\"java plain\">Exception {<\/code><\/div>\n<div class=\"line number38 index37 alt1\">&nbsp;<\/div>\n<div class=\"line number39 index38 alt2\"><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java comments\">\/\/ Create MimeMultipart<\/code><\/div>\n<div class=\"line number40 index39 alt1\"><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java plain\">MimeMultipart content = <\/code><code class=\"java keyword\">new<\/code> <code class=\"java plain\">MimeMultipart(<\/code><code class=\"java string\">\"related\"<\/code><code class=\"java plain\">);<\/code><\/div>\n<div class=\"line number41 index40 alt2\">&nbsp;<\/div>\n<div class=\"line number42 index41 alt1\"><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java comments\">\/\/ html part<\/code><\/div>\n<div class=\"line number43 index42 alt2\"><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java plain\">{<\/code><\/div>\n<div class=\"line number44 index43 alt1\"><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java plain\">MimeBodyPart textPart = <\/code><code class=\"java keyword\">new<\/code> <code class=\"java plain\">MimeBodyPart();<\/code><\/div>\n<div class=\"line number45 index44 alt2\"><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java plain\">textPart.setText(<\/code><code class=\"java string\">\"&lt;html&gt;&lt;body&gt;\"<\/code><\/div>\n<div class=\"line number46 index45 alt1\"><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java plain\">+ <\/code><code class=\"java string\">\"&lt;p&gt;Time: \"<\/code><code class=\"java plain\">+now+<\/code><code class=\"java string\">\"&lt;\/p&gt;\"<\/code><\/div>\n<div class=\"line number47 index46 alt2\"><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java plain\">+ <\/code><code class=\"java string\">\"&lt;p&gt;From: \"<\/code><code class=\"java plain\">+hostname+<\/code><code class=\"java string\">\"&lt;\/p&gt;\"<\/code><\/div>\n<div class=\"line number48 index47 alt1\"><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java plain\">+ <\/code><code class=\"java string\">\"&lt;\/body&gt;&lt;\/html&gt;\"<\/code><\/div>\n<div class=\"line number49 index48 alt2\"><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java plain\">, <\/code><code class=\"java string\">\"UTF8\"<\/code><code class=\"java plain\">, <\/code><code class=\"java string\">\"html\"<\/code><code class=\"java plain\">);<\/code><\/div>\n<div class=\"line number50 index49 alt1\"><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java plain\">content.addBodyPart(textPart);<\/code><\/div>\n<div class=\"line number51 index50 alt2\"><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java plain\">}<\/code><\/div>\n<div class=\"line number52 index51 alt1\">&nbsp;<\/div>\n<div class=\"line number53 index52 alt2\"><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java comments\">\/\/ properties<\/code><\/div>\n<div class=\"line number54 index53 alt1\"><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java plain\">Properties props = <\/code><code class=\"java keyword\">new<\/code> <code class=\"java plain\">Properties();<\/code><\/div>\n<div class=\"line number55 index54 alt2\"><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java plain\">{<\/code><\/div>\n<div class=\"line number56 index55 alt1\"><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java plain\">props.setProperty(<\/code><code class=\"java string\">\"mail.smtp.auth\"<\/code><code class=\"java plain\">, <\/code><code class=\"java string\">\"true\"<\/code><code class=\"java plain\">);<\/code><\/div>\n<div class=\"line number57 index56 alt2\"><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java plain\">props.setProperty(<\/code><code class=\"java string\">\"mail.smtp.host\"<\/code><code class=\"java plain\">, outlook.getProperty(<\/code><code class=\"java string\">\"host\"<\/code><code class=\"java plain\">));<\/code><\/div>\n<div class=\"line number58 index57 alt1\"><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java plain\">props.setProperty(<\/code><code class=\"java string\">\"mail.smtp.port\"<\/code><code class=\"java plain\">, outlook.getProperty(<\/code><code class=\"java string\">\"port\"<\/code><code class=\"java plain\">));<\/code><\/div>\n<div class=\"line number59 index58 alt2\"><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java plain\">props.setProperty(<\/code><code class=\"java string\">\"mail.smtp.starttls.enable\"<\/code><code class=\"java plain\">, <\/code><code class=\"java string\">\"true\"<\/code><code class=\"java plain\">);<\/code><\/div>\n<div class=\"line number60 index59 alt1\">&nbsp;<\/div>\n<div class=\"line number61 index60 alt2\"><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java plain\">}<\/code><\/div>\n<div class=\"line number62 index61 alt1\">&nbsp;<\/div>\n<div class=\"line number63 index62 alt2\"><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java plain\">Session smtp = <\/code><code class=\"java keyword\">null<\/code><code class=\"java plain\">;<\/code><\/div>\n<div class=\"line number64 index63 alt1\"><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java plain\">{<\/code><\/div>\n<div class=\"line number65 index64 alt2\"><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java plain\">smtp = Session.getInstance(props, <\/code><code class=\"java keyword\">new<\/code> <code class=\"java plain\">Authenticator() {<\/code><\/div>\n<div class=\"line number66 index65 alt1\"><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java color1\">@Override<\/code><\/div>\n<div class=\"line number67 index66 alt2\"><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java keyword\">protected<\/code> <code class=\"java plain\">PasswordAuthentication getPasswordAuthentication() {<\/code><\/div>\n<div class=\"line number68 index67 alt1\"><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java keyword\">return<\/code> <code class=\"java keyword\">new<\/code> <code class=\"java plain\">PasswordAuthentication(<\/code><\/div>\n<div class=\"line number69 index68 alt2\"><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java plain\">outlook.getProperty(<\/code><code class=\"java string\">\"username\"<\/code><code class=\"java plain\">)<\/code><\/div>\n<div class=\"line number70 index69 alt1\"><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java plain\">, outlook.getProperty(<\/code><code class=\"java string\">\"password\"<\/code><code class=\"java plain\">)<\/code><\/div>\n<div class=\"line number71 index70 alt2\"><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java plain\">);<\/code><\/div>\n<div class=\"line number72 index71 alt1\"><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java plain\">}<\/code><\/div>\n<div class=\"line number73 index72 alt2\"><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java plain\">});<\/code><\/div>\n<div class=\"line number74 index73 alt1\"><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java plain\">smtp.setDebug(<\/code><code class=\"java keyword\">true<\/code><code class=\"java plain\">);<\/code><\/div>\n<div class=\"line number75 index74 alt2\"><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java plain\">smtp.setDebugOut(System.out);<\/code><\/div>\n<div class=\"line number76 index75 alt1\"><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java plain\">}<\/code><\/div>\n<div class=\"line number77 index76 alt2\">&nbsp;<\/div>\n<div class=\"line number78 index77 alt1\">&nbsp;<\/div>\n<div class=\"line number79 index78 alt2\"><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java plain\">MimeMessage m = <\/code><code class=\"java keyword\">new<\/code> <code class=\"java plain\">MimeMessage(smtp);<\/code><\/div>\n<div class=\"line number80 index79 alt1\"><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java plain\">{<\/code><\/div>\n<div class=\"line number81 index80 alt2\"><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java plain\">m.setRecipient(Message.RecipientType.TO, <\/code><code class=\"java keyword\">new<\/code> <code class=\"java plain\">InternetAddress(outlook.getProperty(<\/code><code class=\"java string\">\"to\"<\/code><code class=\"java plain\">)));<\/code><\/div>\n<div class=\"line number82 index81 alt1\"><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java plain\">m.setSubject(<\/code><code class=\"java string\">\"thoth-email TLS test \"<\/code> <code class=\"java plain\">+ now);<\/code><\/div>\n<div class=\"line number83 index82 alt2\">&nbsp;<\/div>\n<div class=\"line number84 index83 alt1\"><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java plain\">InternetAddress from = <\/code><code class=\"java keyword\">null<\/code><code class=\"java plain\">;<\/code><\/div>\n<div class=\"line number85 index84 alt2\"><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java plain\">{<\/code><\/div>\n<div class=\"line number86 index85 alt1\"><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java plain\">from = <\/code><code class=\"java keyword\">new<\/code> <code class=\"java plain\">InternetAddress(outlook.getProperty(<\/code><code class=\"java string\">\"from\"<\/code><code class=\"java plain\">));<\/code><\/div>\n<div class=\"line number87 index86 alt2\"><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java plain\">from.setPersonal(<\/code><code class=\"java string\">\"Thoth Email\"<\/code><code class=\"java plain\">);<\/code><\/div>\n<div class=\"line number88 index87 alt1\"><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java plain\">m.setFrom(from);<\/code><\/div>\n<div class=\"line number89 index88 alt2\"><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java plain\">}<\/code><\/div>\n<div class=\"line number90 index89 alt1\">&nbsp;<\/div>\n<div class=\"line number91 index90 alt2\"><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java plain\">InternetAddress reply = <\/code><code class=\"java keyword\">null<\/code><code class=\"java plain\">;<\/code><\/div>\n<div class=\"line number92 index91 alt1\"><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java plain\">{<\/code><\/div>\n<div class=\"line number93 index92 alt2\"><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java plain\">reply = <\/code><code class=\"java keyword\">new<\/code> <code class=\"java plain\">InternetAddress(outlook.getProperty(<\/code><code class=\"java string\">\"reply\"<\/code><code class=\"java plain\">));<\/code><\/div>\n<div class=\"line number94 index93 alt1\"><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java plain\">m.setReplyTo(<\/code><code class=\"java keyword\">new<\/code> <code class=\"java plain\">InternetAddress[] {reply});<\/code><\/div>\n<div class=\"line number95 index94 alt2\"><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java plain\">}<\/code><\/div>\n<div class=\"line number96 index95 alt1\">&nbsp;<\/div>\n<div class=\"line number97 index96 alt2\">&nbsp;<\/div>\n<div class=\"line number98 index97 alt1\"><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java plain\">m.setContent(content);<\/code><\/div>\n<div class=\"line number99 index98 alt2\"><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java plain\">}<\/code><\/div>\n<div class=\"line number100 index99 alt1\">&nbsp;<\/div>\n<div class=\"line number101 index100 alt2\"><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java plain\">Transport.send(m);<\/code><\/div>\n<div class=\"line number102 index101 alt1\"><code class=\"java spaces\">&nbsp;&nbsp;<\/code><code class=\"java plain\">}<\/code><\/div>\n<div class=\"line number103 index102 alt2\">&nbsp;<\/div>\n<div class=\"line number104 index103 alt1\"><code class=\"java plain\">}<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<h2 class=\"wp-block-heading\">Summary<\/h2>\n<p>The code for sending mail is not very hard. Successfully receiving an email without being flagged as SPAM is another matter. But if you follow this example, use a valid account, and don\u2019t overuse it, you should be OK. This blog shows how to use Java Mail to send an email using an SMTP server with a TLS connection.<\/p>\n<div class=\"attribution\">\n<table>\n<tbody>\n<tr>\n<td>\n<p>Published on Java Code Geeks with permission by Michael Remijan, partner at our <a href=\"\/\/www.javacodegeeks.com\/join-us\/jcg\/\" target=\"_blank\" rel=\"noopener noreferrer\">JCG program<\/a>. See the original article here: <a href=\"http:\/\/mjremijan.blogspot.com\/2020\/01\/java-mail-sent-over-tls.html\" target=\"_blank\" rel=\"noopener noreferrer\">Java Mail Sent Over TLS<\/a><\/p>\n<p>Opinions expressed by Java Code Geeks contributors are their own.<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Abstract The purpose of this blog is to demonstrate how to use Java Mail to send an email using an SMTP server with a TLS connection. Disclaimer This post is solely informative. Critically think before using any information presented. Learn from it but ultimately make your own decisions at your own risk. Requirements I did &hellip;<\/p>\n","protected":false},"author":3178,"featured_media":112,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[8],"tags":[],"class_list":["post-101519","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-enterprise-java"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Java Mail Sent Over TLS - Java Code Geeks<\/title>\n<meta name=\"description\" content=\"Interested to learn about Java Mail? Check our article explaining how to use Java Mail to send an email using an SMTP server with a TLS connection\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.javacodegeeks.com\/2020\/02\/java-mail-sent-over-tls.html\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Java Mail Sent Over TLS - Java Code Geeks\" \/>\n<meta property=\"og:description\" content=\"Interested to learn about Java Mail? Check our article explaining how to use Java Mail to send an email using an SMTP server with a TLS connection\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.javacodegeeks.com\/2020\/02\/java-mail-sent-over-tls.html\" \/>\n<meta property=\"og:site_name\" content=\"Java Code Geeks\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/javacodegeeks\" \/>\n<meta property=\"article:published_time\" content=\"2020-02-02T13:15:17+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2012\/10\/enterprise-java-logo.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"150\" \/>\n\t<meta property=\"og:image:height\" content=\"150\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Michael Remijan\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@javacodegeeks\" \/>\n<meta name=\"twitter:site\" content=\"@javacodegeeks\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Michael Remijan\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"7 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2020\\\/02\\\/java-mail-sent-over-tls.html#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2020\\\/02\\\/java-mail-sent-over-tls.html\"},\"author\":{\"name\":\"Michael Remijan\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#\\\/schema\\\/person\\\/29887059c051a7f738ae776d5aba9e27\"},\"headline\":\"Java Mail Sent Over TLS\",\"datePublished\":\"2020-02-02T13:15:17+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2020\\\/02\\\/java-mail-sent-over-tls.html\"},\"wordCount\":373,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2020\\\/02\\\/java-mail-sent-over-tls.html#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2012\\\/10\\\/enterprise-java-logo.jpg\",\"articleSection\":[\"Enterprise Java\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.javacodegeeks.com\\\/2020\\\/02\\\/java-mail-sent-over-tls.html#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2020\\\/02\\\/java-mail-sent-over-tls.html\",\"url\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2020\\\/02\\\/java-mail-sent-over-tls.html\",\"name\":\"Java Mail Sent Over TLS - Java Code Geeks\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2020\\\/02\\\/java-mail-sent-over-tls.html#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2020\\\/02\\\/java-mail-sent-over-tls.html#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2012\\\/10\\\/enterprise-java-logo.jpg\",\"datePublished\":\"2020-02-02T13:15:17+00:00\",\"description\":\"Interested to learn about Java Mail? Check our article explaining how to use Java Mail to send an email using an SMTP server with a TLS connection\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2020\\\/02\\\/java-mail-sent-over-tls.html#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.javacodegeeks.com\\\/2020\\\/02\\\/java-mail-sent-over-tls.html\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2020\\\/02\\\/java-mail-sent-over-tls.html#primaryimage\",\"url\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2012\\\/10\\\/enterprise-java-logo.jpg\",\"contentUrl\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2012\\\/10\\\/enterprise-java-logo.jpg\",\"width\":150,\"height\":150,\"caption\":\"java-interview-questions-answers\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2020\\\/02\\\/java-mail-sent-over-tls.html#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.javacodegeeks.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Java\",\"item\":\"https:\\\/\\\/www.javacodegeeks.com\\\/category\\\/java\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Enterprise Java\",\"item\":\"https:\\\/\\\/www.javacodegeeks.com\\\/category\\\/java\\\/enterprise-java\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"Java Mail Sent Over TLS\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#website\",\"url\":\"https:\\\/\\\/www.javacodegeeks.com\\\/\",\"name\":\"Java Code Geeks\",\"description\":\"Java Developers Resource Center\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#organization\"},\"alternateName\":\"JCG\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.javacodegeeks.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#organization\",\"name\":\"Exelixis Media P.C.\",\"url\":\"https:\\\/\\\/www.javacodegeeks.com\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2022\\\/06\\\/exelixis-logo.png\",\"contentUrl\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2022\\\/06\\\/exelixis-logo.png\",\"width\":864,\"height\":246,\"caption\":\"Exelixis Media P.C.\"},\"image\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/javacodegeeks\",\"https:\\\/\\\/x.com\\\/javacodegeeks\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#\\\/schema\\\/person\\\/29887059c051a7f738ae776d5aba9e27\",\"name\":\"Michael Remijan\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/660a324990ecdd382c28c15ae952984b3157b2bc7ad8524692f52f516b155954?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/660a324990ecdd382c28c15ae952984b3157b2bc7ad8524692f52f516b155954?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/660a324990ecdd382c28c15ae952984b3157b2bc7ad8524692f52f516b155954?s=96&d=mm&r=g\",\"caption\":\"Michael Remijan\"},\"description\":\"Michael Remijan is a System Architect at the Federal Reserve Bank St. Louis. He is co-author of 'EJB 3 In Action Second', an active blogger in the Java EE community, a Java EE Guardian, and JavaOne presenter. He has developed enterprise systems for B2C and B2B commerce, manufacturing, astronomy, agriculture, telecommunications, national defense, healthcare, and financial areas.\",\"sameAs\":[\"http:\\\/\\\/mjremijan.blogspot.gr\\\/\",\"https:\\\/\\\/www.linkedin.com\\\/in\\\/mjremijan\\\/\"],\"url\":\"https:\\\/\\\/www.javacodegeeks.com\\\/author\\\/michael-remijan\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Java Mail Sent Over TLS - Java Code Geeks","description":"Interested to learn about Java Mail? Check our article explaining how to use Java Mail to send an email using an SMTP server with a TLS connection","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:\/\/www.javacodegeeks.com\/2020\/02\/java-mail-sent-over-tls.html","og_locale":"en_US","og_type":"article","og_title":"Java Mail Sent Over TLS - Java Code Geeks","og_description":"Interested to learn about Java Mail? Check our article explaining how to use Java Mail to send an email using an SMTP server with a TLS connection","og_url":"https:\/\/www.javacodegeeks.com\/2020\/02\/java-mail-sent-over-tls.html","og_site_name":"Java Code Geeks","article_publisher":"https:\/\/www.facebook.com\/javacodegeeks","article_published_time":"2020-02-02T13:15:17+00:00","og_image":[{"width":150,"height":150,"url":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2012\/10\/enterprise-java-logo.jpg","type":"image\/jpeg"}],"author":"Michael Remijan","twitter_card":"summary_large_image","twitter_creator":"@javacodegeeks","twitter_site":"@javacodegeeks","twitter_misc":{"Written by":"Michael Remijan","Est. reading time":"7 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.javacodegeeks.com\/2020\/02\/java-mail-sent-over-tls.html#article","isPartOf":{"@id":"https:\/\/www.javacodegeeks.com\/2020\/02\/java-mail-sent-over-tls.html"},"author":{"name":"Michael Remijan","@id":"https:\/\/www.javacodegeeks.com\/#\/schema\/person\/29887059c051a7f738ae776d5aba9e27"},"headline":"Java Mail Sent Over TLS","datePublished":"2020-02-02T13:15:17+00:00","mainEntityOfPage":{"@id":"https:\/\/www.javacodegeeks.com\/2020\/02\/java-mail-sent-over-tls.html"},"wordCount":373,"commentCount":0,"publisher":{"@id":"https:\/\/www.javacodegeeks.com\/#organization"},"image":{"@id":"https:\/\/www.javacodegeeks.com\/2020\/02\/java-mail-sent-over-tls.html#primaryimage"},"thumbnailUrl":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2012\/10\/enterprise-java-logo.jpg","articleSection":["Enterprise Java"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.javacodegeeks.com\/2020\/02\/java-mail-sent-over-tls.html#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.javacodegeeks.com\/2020\/02\/java-mail-sent-over-tls.html","url":"https:\/\/www.javacodegeeks.com\/2020\/02\/java-mail-sent-over-tls.html","name":"Java Mail Sent Over TLS - Java Code Geeks","isPartOf":{"@id":"https:\/\/www.javacodegeeks.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.javacodegeeks.com\/2020\/02\/java-mail-sent-over-tls.html#primaryimage"},"image":{"@id":"https:\/\/www.javacodegeeks.com\/2020\/02\/java-mail-sent-over-tls.html#primaryimage"},"thumbnailUrl":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2012\/10\/enterprise-java-logo.jpg","datePublished":"2020-02-02T13:15:17+00:00","description":"Interested to learn about Java Mail? Check our article explaining how to use Java Mail to send an email using an SMTP server with a TLS connection","breadcrumb":{"@id":"https:\/\/www.javacodegeeks.com\/2020\/02\/java-mail-sent-over-tls.html#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.javacodegeeks.com\/2020\/02\/java-mail-sent-over-tls.html"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.javacodegeeks.com\/2020\/02\/java-mail-sent-over-tls.html#primaryimage","url":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2012\/10\/enterprise-java-logo.jpg","contentUrl":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2012\/10\/enterprise-java-logo.jpg","width":150,"height":150,"caption":"java-interview-questions-answers"},{"@type":"BreadcrumbList","@id":"https:\/\/www.javacodegeeks.com\/2020\/02\/java-mail-sent-over-tls.html#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.javacodegeeks.com\/"},{"@type":"ListItem","position":2,"name":"Java","item":"https:\/\/www.javacodegeeks.com\/category\/java"},{"@type":"ListItem","position":3,"name":"Enterprise Java","item":"https:\/\/www.javacodegeeks.com\/category\/java\/enterprise-java"},{"@type":"ListItem","position":4,"name":"Java Mail Sent Over TLS"}]},{"@type":"WebSite","@id":"https:\/\/www.javacodegeeks.com\/#website","url":"https:\/\/www.javacodegeeks.com\/","name":"Java Code Geeks","description":"Java Developers Resource Center","publisher":{"@id":"https:\/\/www.javacodegeeks.com\/#organization"},"alternateName":"JCG","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.javacodegeeks.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.javacodegeeks.com\/#organization","name":"Exelixis Media P.C.","url":"https:\/\/www.javacodegeeks.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.javacodegeeks.com\/#\/schema\/logo\/image\/","url":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2022\/06\/exelixis-logo.png","contentUrl":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2022\/06\/exelixis-logo.png","width":864,"height":246,"caption":"Exelixis Media P.C."},"image":{"@id":"https:\/\/www.javacodegeeks.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/javacodegeeks","https:\/\/x.com\/javacodegeeks"]},{"@type":"Person","@id":"https:\/\/www.javacodegeeks.com\/#\/schema\/person\/29887059c051a7f738ae776d5aba9e27","name":"Michael Remijan","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/660a324990ecdd382c28c15ae952984b3157b2bc7ad8524692f52f516b155954?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/660a324990ecdd382c28c15ae952984b3157b2bc7ad8524692f52f516b155954?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/660a324990ecdd382c28c15ae952984b3157b2bc7ad8524692f52f516b155954?s=96&d=mm&r=g","caption":"Michael Remijan"},"description":"Michael Remijan is a System Architect at the Federal Reserve Bank St. Louis. He is co-author of 'EJB 3 In Action Second', an active blogger in the Java EE community, a Java EE Guardian, and JavaOne presenter. He has developed enterprise systems for B2C and B2B commerce, manufacturing, astronomy, agriculture, telecommunications, national defense, healthcare, and financial areas.","sameAs":["http:\/\/mjremijan.blogspot.gr\/","https:\/\/www.linkedin.com\/in\/mjremijan\/"],"url":"https:\/\/www.javacodegeeks.com\/author\/michael-remijan"}]}},"_links":{"self":[{"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/posts\/101519","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/users\/3178"}],"replies":[{"embeddable":true,"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/comments?post=101519"}],"version-history":[{"count":0,"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/posts\/101519\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/media\/112"}],"wp:attachment":[{"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/media?parent=101519"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/categories?post=101519"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/tags?post=101519"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}