You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@commons.apache.org by tn...@apache.org on 2015/05/23 08:51:00 UTC
svn commit: r952406 [37/42] - in
/websites/production/commons/content/proper/commons-email: ./ apidocs/
apidocs/org/apache/commons/mail/ apidocs/org/apache/commons/mail/class-use/
apidocs/org/apache/commons/mail/resolver/ apidocs/org/apache/commons/mai...
Modified: websites/production/commons/content/proper/commons-email/xref/org/apache/commons/mail/Email.html
==============================================================================
--- websites/production/commons/content/proper/commons-email/xref/org/apache/commons/mail/Email.html (original)
+++ websites/production/commons/content/proper/commons-email/xref/org/apache/commons/mail/Email.html Sat May 23 06:50:57 2015
@@ -57,7 +57,7 @@
<a class="jxr_linenumber" name="L49" href="#L49">49</a> <em class="jxr_javadoccomment"> * Subclasses are responsible for setting the message body.</em>
<a class="jxr_linenumber" name="L50" href="#L50">50</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="L51" href="#L51">51</a> <em class="jxr_javadoccomment"> * @since 1.0</em>
-<a class="jxr_linenumber" name="L52" href="#L52">52</a> <em class="jxr_javadoccomment"> * @version $Id: Email.java 1606709 2014-06-30 12:26:06Z ggregory $</em>
+<a class="jxr_linenumber" name="L52" href="#L52">52</a> <em class="jxr_javadoccomment"> * @version $Id: Email.java 1665699 2015-03-10 21:12:09Z tn $</em>
<a class="jxr_linenumber" name="L53" href="#L53">53</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="L54" href="#L54">54</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">abstract</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/commons/mail/Email.html">Email</a>
<a class="jxr_linenumber" name="L55" href="#L55">55</a> {
@@ -1223,723 +1223,734 @@
<a class="jxr_linenumber" name="L1215" href="#L1215">1215</a> }
<a class="jxr_linenumber" name="L1216" href="#L1216">1216</a>
<a class="jxr_linenumber" name="L1217" href="#L1217">1217</a> <em class="jxr_javadoccomment">/**</em>
-<a class="jxr_linenumber" name="L1218" href="#L1218">1218</a> <em class="jxr_javadoccomment"> * Set the "bounce address" - the address to which undeliverable messages</em>
-<a class="jxr_linenumber" name="L1219" href="#L1219">1219</a> <em class="jxr_javadoccomment"> * will be returned. If this value is never set, then the message will be</em>
-<a class="jxr_linenumber" name="L1220" href="#L1220">1220</a> <em class="jxr_javadoccomment"> * sent to the address specified with the System property "mail.smtp.from",</em>
-<a class="jxr_linenumber" name="L1221" href="#L1221">1221</a> <em class="jxr_javadoccomment"> * or if that value is not set, then to the "from" address.</em>
-<a class="jxr_linenumber" name="L1222" href="#L1222">1222</a> <em class="jxr_javadoccomment"> *</em>
-<a class="jxr_linenumber" name="L1223" href="#L1223">1223</a> <em class="jxr_javadoccomment"> * @param email A String.</em>
-<a class="jxr_linenumber" name="L1224" href="#L1224">1224</a> <em class="jxr_javadoccomment"> * @return An Email.</em>
-<a class="jxr_linenumber" name="L1225" href="#L1225">1225</a> <em class="jxr_javadoccomment"> * @throws IllegalStateException when the mail session is already initialized</em>
-<a class="jxr_linenumber" name="L1226" href="#L1226">1226</a> <em class="jxr_javadoccomment"> * @since 1.0</em>
-<a class="jxr_linenumber" name="L1227" href="#L1227">1227</a> <em class="jxr_javadoccomment"> */</em>
-<a class="jxr_linenumber" name="L1228" href="#L1228">1228</a> <strong class="jxr_keyword">public</strong> <a href="../../../../org/apache/commons/mail/Email.html">Email</a> setBounceAddress(<strong class="jxr_keyword">final</strong> String email)
-<a class="jxr_linenumber" name="L1229" href="#L1229">1229</a> {
-<a class="jxr_linenumber" name="L1230" href="#L1230">1230</a> checkSessionAlreadyInitialized();
-<a class="jxr_linenumber" name="L1231" href="#L1231">1231</a> <strong class="jxr_keyword">this</strong>.bounceAddress = email;
-<a class="jxr_linenumber" name="L1232" href="#L1232">1232</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">this</strong>;
-<a class="jxr_linenumber" name="L1233" href="#L1233">1233</a> }
-<a class="jxr_linenumber" name="L1234" href="#L1234">1234</a>
-<a class="jxr_linenumber" name="L1235" href="#L1235">1235</a>
-<a class="jxr_linenumber" name="L1236" href="#L1236">1236</a> <em class="jxr_javadoccomment">/**</em>
-<a class="jxr_linenumber" name="L1237" href="#L1237">1237</a> <em class="jxr_javadoccomment"> * Define the content of the mail. It should be overridden by the</em>
-<a class="jxr_linenumber" name="L1238" href="#L1238">1238</a> <em class="jxr_javadoccomment"> * subclasses.</em>
-<a class="jxr_linenumber" name="L1239" href="#L1239">1239</a> <em class="jxr_javadoccomment"> *</em>
-<a class="jxr_linenumber" name="L1240" href="#L1240">1240</a> <em class="jxr_javadoccomment"> * @param msg A String.</em>
-<a class="jxr_linenumber" name="L1241" href="#L1241">1241</a> <em class="jxr_javadoccomment"> * @return An Email.</em>
-<a class="jxr_linenumber" name="L1242" href="#L1242">1242</a> <em class="jxr_javadoccomment"> * @throws EmailException generic exception.</em>
-<a class="jxr_linenumber" name="L1243" href="#L1243">1243</a> <em class="jxr_javadoccomment"> * @since 1.0</em>
-<a class="jxr_linenumber" name="L1244" href="#L1244">1244</a> <em class="jxr_javadoccomment"> */</em>
-<a class="jxr_linenumber" name="L1245" href="#L1245">1245</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">abstract</strong> <a href="../../../../org/apache/commons/mail/Email.html">Email</a> setMsg(String msg) <strong class="jxr_keyword">throws</strong> EmailException;
-<a class="jxr_linenumber" name="L1246" href="#L1246">1246</a>
-<a class="jxr_linenumber" name="L1247" href="#L1247">1247</a> <em class="jxr_javadoccomment">/**</em>
-<a class="jxr_linenumber" name="L1248" href="#L1248">1248</a> <em class="jxr_javadoccomment"> * Does the work of actually building the MimeMessage. Please note that</em>
-<a class="jxr_linenumber" name="L1249" href="#L1249">1249</a> <em class="jxr_javadoccomment"> * a user rarely calls this method directly and only if he/she is</em>
-<a class="jxr_linenumber" name="L1250" href="#L1250">1250</a> <em class="jxr_javadoccomment"> * interested in the sending the underlying MimeMessage without</em>
-<a class="jxr_linenumber" name="L1251" href="#L1251">1251</a> <em class="jxr_javadoccomment"> * commons-email.</em>
-<a class="jxr_linenumber" name="L1252" href="#L1252">1252</a> <em class="jxr_javadoccomment"> *</em>
-<a class="jxr_linenumber" name="L1253" href="#L1253">1253</a> <em class="jxr_javadoccomment"> * @throws IllegalStateException if the MimeMessage was already built</em>
-<a class="jxr_linenumber" name="L1254" href="#L1254">1254</a> <em class="jxr_javadoccomment"> * @throws EmailException if there was an error.</em>
-<a class="jxr_linenumber" name="L1255" href="#L1255">1255</a> <em class="jxr_javadoccomment"> * @since 1.0</em>
-<a class="jxr_linenumber" name="L1256" href="#L1256">1256</a> <em class="jxr_javadoccomment"> */</em>
-<a class="jxr_linenumber" name="L1257" href="#L1257">1257</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> buildMimeMessage() <strong class="jxr_keyword">throws</strong> EmailException
-<a class="jxr_linenumber" name="L1258" href="#L1258">1258</a> {
-<a class="jxr_linenumber" name="L1259" href="#L1259">1259</a> <strong class="jxr_keyword">if</strong> (<strong class="jxr_keyword">this</strong>.message != <strong class="jxr_keyword">null</strong>)
-<a class="jxr_linenumber" name="L1260" href="#L1260">1260</a> {
-<a class="jxr_linenumber" name="L1261" href="#L1261">1261</a> <em class="jxr_comment">// [EMAIL-95] we assume that an email is not reused therefore invoking</em>
-<a class="jxr_linenumber" name="L1262" href="#L1262">1262</a> <em class="jxr_comment">// buildMimeMessage() more than once is illegal.</em>
-<a class="jxr_linenumber" name="L1263" href="#L1263">1263</a> <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> IllegalStateException(<span class="jxr_string">"The MimeMessage is already built."</span>);
-<a class="jxr_linenumber" name="L1264" href="#L1264">1264</a> }
-<a class="jxr_linenumber" name="L1265" href="#L1265">1265</a>
-<a class="jxr_linenumber" name="L1266" href="#L1266">1266</a> <strong class="jxr_keyword">try</strong>
-<a class="jxr_linenumber" name="L1267" href="#L1267">1267</a> {
-<a class="jxr_linenumber" name="L1268" href="#L1268">1268</a> <strong class="jxr_keyword">this</strong>.message = <strong class="jxr_keyword">this</strong>.createMimeMessage(<strong class="jxr_keyword">this</strong>.getMailSession());
-<a class="jxr_linenumber" name="L1269" href="#L1269">1269</a>
-<a class="jxr_linenumber" name="L1270" href="#L1270">1270</a> <strong class="jxr_keyword">if</strong> (EmailUtils.isNotEmpty(<strong class="jxr_keyword">this</strong>.subject))
-<a class="jxr_linenumber" name="L1271" href="#L1271">1271</a> {
-<a class="jxr_linenumber" name="L1272" href="#L1272">1272</a> <strong class="jxr_keyword">if</strong> (EmailUtils.isNotEmpty(<strong class="jxr_keyword">this</strong>.charset))
-<a class="jxr_linenumber" name="L1273" href="#L1273">1273</a> {
-<a class="jxr_linenumber" name="L1274" href="#L1274">1274</a> <strong class="jxr_keyword">this</strong>.message.setSubject(<strong class="jxr_keyword">this</strong>.subject, <strong class="jxr_keyword">this</strong>.charset);
-<a class="jxr_linenumber" name="L1275" href="#L1275">1275</a> }
-<a class="jxr_linenumber" name="L1276" href="#L1276">1276</a> <strong class="jxr_keyword">else</strong>
-<a class="jxr_linenumber" name="L1277" href="#L1277">1277</a> {
-<a class="jxr_linenumber" name="L1278" href="#L1278">1278</a> <strong class="jxr_keyword">this</strong>.message.setSubject(<strong class="jxr_keyword">this</strong>.subject);
-<a class="jxr_linenumber" name="L1279" href="#L1279">1279</a> }
-<a class="jxr_linenumber" name="L1280" href="#L1280">1280</a> }
-<a class="jxr_linenumber" name="L1281" href="#L1281">1281</a>
-<a class="jxr_linenumber" name="L1282" href="#L1282">1282</a> <em class="jxr_comment">// update content type (and encoding)</em>
-<a class="jxr_linenumber" name="L1283" href="#L1283">1283</a> <strong class="jxr_keyword">this</strong>.updateContentType(<strong class="jxr_keyword">this</strong>.contentType);
-<a class="jxr_linenumber" name="L1284" href="#L1284">1284</a>
-<a class="jxr_linenumber" name="L1285" href="#L1285">1285</a> <strong class="jxr_keyword">if</strong> (<strong class="jxr_keyword">this</strong>.content != <strong class="jxr_keyword">null</strong>)
-<a class="jxr_linenumber" name="L1286" href="#L1286">1286</a> {
-<a class="jxr_linenumber" name="L1287" href="#L1287">1287</a> <strong class="jxr_keyword">if</strong> (EmailConstants.TEXT_PLAIN.equalsIgnoreCase(<strong class="jxr_keyword">this</strong>.contentType)
-<a class="jxr_linenumber" name="L1288" href="#L1288">1288</a> && <strong class="jxr_keyword">this</strong>.content instanceof String)
-<a class="jxr_linenumber" name="L1289" href="#L1289">1289</a> {
-<a class="jxr_linenumber" name="L1290" href="#L1290">1290</a> <em class="jxr_comment">// EMAIL-104: call explicitly setText to use default mime charset</em>
-<a class="jxr_linenumber" name="L1291" href="#L1291">1291</a> <em class="jxr_comment">// (property "mail.mime.charset") in case none has been set</em>
-<a class="jxr_linenumber" name="L1292" href="#L1292">1292</a> <strong class="jxr_keyword">this</strong>.message.setText(<strong class="jxr_keyword">this</strong>.content.toString(), <strong class="jxr_keyword">this</strong>.charset);
-<a class="jxr_linenumber" name="L1293" href="#L1293">1293</a> }
-<a class="jxr_linenumber" name="L1294" href="#L1294">1294</a> <strong class="jxr_keyword">else</strong>
-<a class="jxr_linenumber" name="L1295" href="#L1295">1295</a> {
-<a class="jxr_linenumber" name="L1296" href="#L1296">1296</a> <strong class="jxr_keyword">this</strong>.message.setContent(<strong class="jxr_keyword">this</strong>.content, <strong class="jxr_keyword">this</strong>.contentType);
-<a class="jxr_linenumber" name="L1297" href="#L1297">1297</a> }
-<a class="jxr_linenumber" name="L1298" href="#L1298">1298</a> }
-<a class="jxr_linenumber" name="L1299" href="#L1299">1299</a> <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (<strong class="jxr_keyword">this</strong>.emailBody != <strong class="jxr_keyword">null</strong>)
-<a class="jxr_linenumber" name="L1300" href="#L1300">1300</a> {
-<a class="jxr_linenumber" name="L1301" href="#L1301">1301</a> <strong class="jxr_keyword">if</strong> (<strong class="jxr_keyword">this</strong>.contentType == <strong class="jxr_keyword">null</strong>)
-<a class="jxr_linenumber" name="L1302" href="#L1302">1302</a> {
-<a class="jxr_linenumber" name="L1303" href="#L1303">1303</a> <strong class="jxr_keyword">this</strong>.message.setContent(<strong class="jxr_keyword">this</strong>.emailBody);
-<a class="jxr_linenumber" name="L1304" href="#L1304">1304</a> }
-<a class="jxr_linenumber" name="L1305" href="#L1305">1305</a> <strong class="jxr_keyword">else</strong>
-<a class="jxr_linenumber" name="L1306" href="#L1306">1306</a> {
-<a class="jxr_linenumber" name="L1307" href="#L1307">1307</a> <strong class="jxr_keyword">this</strong>.message.setContent(<strong class="jxr_keyword">this</strong>.emailBody, <strong class="jxr_keyword">this</strong>.contentType);
-<a class="jxr_linenumber" name="L1308" href="#L1308">1308</a> }
-<a class="jxr_linenumber" name="L1309" href="#L1309">1309</a> }
-<a class="jxr_linenumber" name="L1310" href="#L1310">1310</a> <strong class="jxr_keyword">else</strong>
-<a class="jxr_linenumber" name="L1311" href="#L1311">1311</a> {
-<a class="jxr_linenumber" name="L1312" href="#L1312">1312</a> <strong class="jxr_keyword">this</strong>.message.setText(<span class="jxr_string">""</span>);
-<a class="jxr_linenumber" name="L1313" href="#L1313">1313</a> }
-<a class="jxr_linenumber" name="L1314" href="#L1314">1314</a>
-<a class="jxr_linenumber" name="L1315" href="#L1315">1315</a> <strong class="jxr_keyword">if</strong> (<strong class="jxr_keyword">this</strong>.fromAddress != <strong class="jxr_keyword">null</strong>)
-<a class="jxr_linenumber" name="L1316" href="#L1316">1316</a> {
-<a class="jxr_linenumber" name="L1317" href="#L1317">1317</a> <strong class="jxr_keyword">this</strong>.message.setFrom(<strong class="jxr_keyword">this</strong>.fromAddress);
-<a class="jxr_linenumber" name="L1318" href="#L1318">1318</a> }
-<a class="jxr_linenumber" name="L1319" href="#L1319">1319</a> <strong class="jxr_keyword">else</strong>
-<a class="jxr_linenumber" name="L1320" href="#L1320">1320</a> {
-<a class="jxr_linenumber" name="L1321" href="#L1321">1321</a> <strong class="jxr_keyword">if</strong> (session.getProperty(MAIL_SMTP_FROM) == <strong class="jxr_keyword">null</strong>)
-<a class="jxr_linenumber" name="L1322" href="#L1322">1322</a> {
-<a class="jxr_linenumber" name="L1323" href="#L1323">1323</a> <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/commons/mail/EmailException.html">EmailException</a>(<span class="jxr_string">"From address required"</span>);
-<a class="jxr_linenumber" name="L1324" href="#L1324">1324</a> }
-<a class="jxr_linenumber" name="L1325" href="#L1325">1325</a> }
-<a class="jxr_linenumber" name="L1326" href="#L1326">1326</a>
-<a class="jxr_linenumber" name="L1327" href="#L1327">1327</a> <strong class="jxr_keyword">if</strong> (<strong class="jxr_keyword">this</strong>.toList.size() + <strong class="jxr_keyword">this</strong>.ccList.size() + <strong class="jxr_keyword">this</strong>.bccList.size() == 0)
-<a class="jxr_linenumber" name="L1328" href="#L1328">1328</a> {
-<a class="jxr_linenumber" name="L1329" href="#L1329">1329</a> <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/commons/mail/EmailException.html">EmailException</a>(<span class="jxr_string">"At least one receiver address required"</span>);
-<a class="jxr_linenumber" name="L1330" href="#L1330">1330</a> }
-<a class="jxr_linenumber" name="L1331" href="#L1331">1331</a>
-<a class="jxr_linenumber" name="L1332" href="#L1332">1332</a> <strong class="jxr_keyword">if</strong> (<strong class="jxr_keyword">this</strong>.toList.size() > 0)
-<a class="jxr_linenumber" name="L1333" href="#L1333">1333</a> {
-<a class="jxr_linenumber" name="L1334" href="#L1334">1334</a> <strong class="jxr_keyword">this</strong>.message.setRecipients(
-<a class="jxr_linenumber" name="L1335" href="#L1335">1335</a> Message.RecipientType.TO,
-<a class="jxr_linenumber" name="L1336" href="#L1336">1336</a> <strong class="jxr_keyword">this</strong>.toInternetAddressArray(<strong class="jxr_keyword">this</strong>.toList));
-<a class="jxr_linenumber" name="L1337" href="#L1337">1337</a> }
-<a class="jxr_linenumber" name="L1338" href="#L1338">1338</a>
-<a class="jxr_linenumber" name="L1339" href="#L1339">1339</a> <strong class="jxr_keyword">if</strong> (<strong class="jxr_keyword">this</strong>.ccList.size() > 0)
-<a class="jxr_linenumber" name="L1340" href="#L1340">1340</a> {
-<a class="jxr_linenumber" name="L1341" href="#L1341">1341</a> <strong class="jxr_keyword">this</strong>.message.setRecipients(
-<a class="jxr_linenumber" name="L1342" href="#L1342">1342</a> Message.RecipientType.CC,
-<a class="jxr_linenumber" name="L1343" href="#L1343">1343</a> <strong class="jxr_keyword">this</strong>.toInternetAddressArray(<strong class="jxr_keyword">this</strong>.ccList));
-<a class="jxr_linenumber" name="L1344" href="#L1344">1344</a> }
-<a class="jxr_linenumber" name="L1345" href="#L1345">1345</a>
-<a class="jxr_linenumber" name="L1346" href="#L1346">1346</a> <strong class="jxr_keyword">if</strong> (<strong class="jxr_keyword">this</strong>.bccList.size() > 0)
-<a class="jxr_linenumber" name="L1347" href="#L1347">1347</a> {
-<a class="jxr_linenumber" name="L1348" href="#L1348">1348</a> <strong class="jxr_keyword">this</strong>.message.setRecipients(
-<a class="jxr_linenumber" name="L1349" href="#L1349">1349</a> Message.RecipientType.BCC,
-<a class="jxr_linenumber" name="L1350" href="#L1350">1350</a> <strong class="jxr_keyword">this</strong>.toInternetAddressArray(<strong class="jxr_keyword">this</strong>.bccList));
-<a class="jxr_linenumber" name="L1351" href="#L1351">1351</a> }
-<a class="jxr_linenumber" name="L1352" href="#L1352">1352</a>
-<a class="jxr_linenumber" name="L1353" href="#L1353">1353</a> <strong class="jxr_keyword">if</strong> (<strong class="jxr_keyword">this</strong>.replyList.size() > 0)
-<a class="jxr_linenumber" name="L1354" href="#L1354">1354</a> {
-<a class="jxr_linenumber" name="L1355" href="#L1355">1355</a> <strong class="jxr_keyword">this</strong>.message.setReplyTo(
-<a class="jxr_linenumber" name="L1356" href="#L1356">1356</a> <strong class="jxr_keyword">this</strong>.toInternetAddressArray(<strong class="jxr_keyword">this</strong>.replyList));
-<a class="jxr_linenumber" name="L1357" href="#L1357">1357</a> }
-<a class="jxr_linenumber" name="L1358" href="#L1358">1358</a>
-<a class="jxr_linenumber" name="L1359" href="#L1359">1359</a>
-<a class="jxr_linenumber" name="L1360" href="#L1360">1360</a> <strong class="jxr_keyword">if</strong> (<strong class="jxr_keyword">this</strong>.headers.size() > 0)
-<a class="jxr_linenumber" name="L1361" href="#L1361">1361</a> {
-<a class="jxr_linenumber" name="L1362" href="#L1362">1362</a> <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">final</strong> Map.Entry<String, String> entry : <strong class="jxr_keyword">this</strong>.headers.entrySet())
-<a class="jxr_linenumber" name="L1363" href="#L1363">1363</a> {
-<a class="jxr_linenumber" name="L1364" href="#L1364">1364</a> <strong class="jxr_keyword">final</strong> String foldedValue = createFoldedHeaderValue(entry.getKey(), entry.getValue());
-<a class="jxr_linenumber" name="L1365" href="#L1365">1365</a> <strong class="jxr_keyword">this</strong>.message.addHeader(entry.getKey(), foldedValue);
-<a class="jxr_linenumber" name="L1366" href="#L1366">1366</a> }
-<a class="jxr_linenumber" name="L1367" href="#L1367">1367</a> }
-<a class="jxr_linenumber" name="L1368" href="#L1368">1368</a>
-<a class="jxr_linenumber" name="L1369" href="#L1369">1369</a> <strong class="jxr_keyword">if</strong> (<strong class="jxr_keyword">this</strong>.message.getSentDate() == <strong class="jxr_keyword">null</strong>)
-<a class="jxr_linenumber" name="L1370" href="#L1370">1370</a> {
-<a class="jxr_linenumber" name="L1371" href="#L1371">1371</a> <strong class="jxr_keyword">this</strong>.message.setSentDate(getSentDate());
-<a class="jxr_linenumber" name="L1372" href="#L1372">1372</a> }
-<a class="jxr_linenumber" name="L1373" href="#L1373">1373</a>
-<a class="jxr_linenumber" name="L1374" href="#L1374">1374</a> <strong class="jxr_keyword">if</strong> (<strong class="jxr_keyword">this</strong>.popBeforeSmtp)
-<a class="jxr_linenumber" name="L1375" href="#L1375">1375</a> {
-<a class="jxr_linenumber" name="L1376" href="#L1376">1376</a> <strong class="jxr_keyword">final</strong> Store store = session.getStore(<span class="jxr_string">"pop3"</span>);
-<a class="jxr_linenumber" name="L1377" href="#L1377">1377</a> store.connect(<strong class="jxr_keyword">this</strong>.popHost, <strong class="jxr_keyword">this</strong>.popUsername, <strong class="jxr_keyword">this</strong>.popPassword);
+<a class="jxr_linenumber" name="L1218" href="#L1218">1218</a> <em class="jxr_javadoccomment"> * Gets the "bounce address" of this email.</em>
+<a class="jxr_linenumber" name="L1219" href="#L1219">1219</a> <em class="jxr_javadoccomment"> *</em>
+<a class="jxr_linenumber" name="L1220" href="#L1220">1220</a> <em class="jxr_javadoccomment"> * @return the bounce address as string</em>
+<a class="jxr_linenumber" name="L1221" href="#L1221">1221</a> <em class="jxr_javadoccomment"> * @since 1.4</em>
+<a class="jxr_linenumber" name="L1222" href="#L1222">1222</a> <em class="jxr_javadoccomment"> */</em>
+<a class="jxr_linenumber" name="L1223" href="#L1223">1223</a> <strong class="jxr_keyword">public</strong> String getBounceAddress()
+<a class="jxr_linenumber" name="L1224" href="#L1224">1224</a> {
+<a class="jxr_linenumber" name="L1225" href="#L1225">1225</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">this</strong>.bounceAddress;
+<a class="jxr_linenumber" name="L1226" href="#L1226">1226</a> }
+<a class="jxr_linenumber" name="L1227" href="#L1227">1227</a>
+<a class="jxr_linenumber" name="L1228" href="#L1228">1228</a> <em class="jxr_javadoccomment">/**</em>
+<a class="jxr_linenumber" name="L1229" href="#L1229">1229</a> <em class="jxr_javadoccomment"> * Set the "bounce address" - the address to which undeliverable messages</em>
+<a class="jxr_linenumber" name="L1230" href="#L1230">1230</a> <em class="jxr_javadoccomment"> * will be returned. If this value is never set, then the message will be</em>
+<a class="jxr_linenumber" name="L1231" href="#L1231">1231</a> <em class="jxr_javadoccomment"> * sent to the address specified with the System property "mail.smtp.from",</em>
+<a class="jxr_linenumber" name="L1232" href="#L1232">1232</a> <em class="jxr_javadoccomment"> * or if that value is not set, then to the "from" address.</em>
+<a class="jxr_linenumber" name="L1233" href="#L1233">1233</a> <em class="jxr_javadoccomment"> *</em>
+<a class="jxr_linenumber" name="L1234" href="#L1234">1234</a> <em class="jxr_javadoccomment"> * @param email A String.</em>
+<a class="jxr_linenumber" name="L1235" href="#L1235">1235</a> <em class="jxr_javadoccomment"> * @return An Email.</em>
+<a class="jxr_linenumber" name="L1236" href="#L1236">1236</a> <em class="jxr_javadoccomment"> * @throws IllegalStateException when the mail session is already initialized</em>
+<a class="jxr_linenumber" name="L1237" href="#L1237">1237</a> <em class="jxr_javadoccomment"> * @since 1.0</em>
+<a class="jxr_linenumber" name="L1238" href="#L1238">1238</a> <em class="jxr_javadoccomment"> */</em>
+<a class="jxr_linenumber" name="L1239" href="#L1239">1239</a> <strong class="jxr_keyword">public</strong> <a href="../../../../org/apache/commons/mail/Email.html">Email</a> setBounceAddress(<strong class="jxr_keyword">final</strong> String email)
+<a class="jxr_linenumber" name="L1240" href="#L1240">1240</a> {
+<a class="jxr_linenumber" name="L1241" href="#L1241">1241</a> checkSessionAlreadyInitialized();
+<a class="jxr_linenumber" name="L1242" href="#L1242">1242</a> <strong class="jxr_keyword">this</strong>.bounceAddress = email;
+<a class="jxr_linenumber" name="L1243" href="#L1243">1243</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">this</strong>;
+<a class="jxr_linenumber" name="L1244" href="#L1244">1244</a> }
+<a class="jxr_linenumber" name="L1245" href="#L1245">1245</a>
+<a class="jxr_linenumber" name="L1246" href="#L1246">1246</a> <em class="jxr_javadoccomment">/**</em>
+<a class="jxr_linenumber" name="L1247" href="#L1247">1247</a> <em class="jxr_javadoccomment"> * Define the content of the mail. It should be overridden by the</em>
+<a class="jxr_linenumber" name="L1248" href="#L1248">1248</a> <em class="jxr_javadoccomment"> * subclasses.</em>
+<a class="jxr_linenumber" name="L1249" href="#L1249">1249</a> <em class="jxr_javadoccomment"> *</em>
+<a class="jxr_linenumber" name="L1250" href="#L1250">1250</a> <em class="jxr_javadoccomment"> * @param msg A String.</em>
+<a class="jxr_linenumber" name="L1251" href="#L1251">1251</a> <em class="jxr_javadoccomment"> * @return An Email.</em>
+<a class="jxr_linenumber" name="L1252" href="#L1252">1252</a> <em class="jxr_javadoccomment"> * @throws EmailException generic exception.</em>
+<a class="jxr_linenumber" name="L1253" href="#L1253">1253</a> <em class="jxr_javadoccomment"> * @since 1.0</em>
+<a class="jxr_linenumber" name="L1254" href="#L1254">1254</a> <em class="jxr_javadoccomment"> */</em>
+<a class="jxr_linenumber" name="L1255" href="#L1255">1255</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">abstract</strong> <a href="../../../../org/apache/commons/mail/Email.html">Email</a> setMsg(String msg) <strong class="jxr_keyword">throws</strong> EmailException;
+<a class="jxr_linenumber" name="L1256" href="#L1256">1256</a>
+<a class="jxr_linenumber" name="L1257" href="#L1257">1257</a> <em class="jxr_javadoccomment">/**</em>
+<a class="jxr_linenumber" name="L1258" href="#L1258">1258</a> <em class="jxr_javadoccomment"> * Does the work of actually building the MimeMessage. Please note that</em>
+<a class="jxr_linenumber" name="L1259" href="#L1259">1259</a> <em class="jxr_javadoccomment"> * a user rarely calls this method directly and only if he/she is</em>
+<a class="jxr_linenumber" name="L1260" href="#L1260">1260</a> <em class="jxr_javadoccomment"> * interested in the sending the underlying MimeMessage without</em>
+<a class="jxr_linenumber" name="L1261" href="#L1261">1261</a> <em class="jxr_javadoccomment"> * commons-email.</em>
+<a class="jxr_linenumber" name="L1262" href="#L1262">1262</a> <em class="jxr_javadoccomment"> *</em>
+<a class="jxr_linenumber" name="L1263" href="#L1263">1263</a> <em class="jxr_javadoccomment"> * @throws IllegalStateException if the MimeMessage was already built</em>
+<a class="jxr_linenumber" name="L1264" href="#L1264">1264</a> <em class="jxr_javadoccomment"> * @throws EmailException if there was an error.</em>
+<a class="jxr_linenumber" name="L1265" href="#L1265">1265</a> <em class="jxr_javadoccomment"> * @since 1.0</em>
+<a class="jxr_linenumber" name="L1266" href="#L1266">1266</a> <em class="jxr_javadoccomment"> */</em>
+<a class="jxr_linenumber" name="L1267" href="#L1267">1267</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> buildMimeMessage() <strong class="jxr_keyword">throws</strong> EmailException
+<a class="jxr_linenumber" name="L1268" href="#L1268">1268</a> {
+<a class="jxr_linenumber" name="L1269" href="#L1269">1269</a> <strong class="jxr_keyword">if</strong> (<strong class="jxr_keyword">this</strong>.message != <strong class="jxr_keyword">null</strong>)
+<a class="jxr_linenumber" name="L1270" href="#L1270">1270</a> {
+<a class="jxr_linenumber" name="L1271" href="#L1271">1271</a> <em class="jxr_comment">// [EMAIL-95] we assume that an email is not reused therefore invoking</em>
+<a class="jxr_linenumber" name="L1272" href="#L1272">1272</a> <em class="jxr_comment">// buildMimeMessage() more than once is illegal.</em>
+<a class="jxr_linenumber" name="L1273" href="#L1273">1273</a> <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> IllegalStateException(<span class="jxr_string">"The MimeMessage is already built."</span>);
+<a class="jxr_linenumber" name="L1274" href="#L1274">1274</a> }
+<a class="jxr_linenumber" name="L1275" href="#L1275">1275</a>
+<a class="jxr_linenumber" name="L1276" href="#L1276">1276</a> <strong class="jxr_keyword">try</strong>
+<a class="jxr_linenumber" name="L1277" href="#L1277">1277</a> {
+<a class="jxr_linenumber" name="L1278" href="#L1278">1278</a> <strong class="jxr_keyword">this</strong>.message = <strong class="jxr_keyword">this</strong>.createMimeMessage(<strong class="jxr_keyword">this</strong>.getMailSession());
+<a class="jxr_linenumber" name="L1279" href="#L1279">1279</a>
+<a class="jxr_linenumber" name="L1280" href="#L1280">1280</a> <strong class="jxr_keyword">if</strong> (EmailUtils.isNotEmpty(<strong class="jxr_keyword">this</strong>.subject))
+<a class="jxr_linenumber" name="L1281" href="#L1281">1281</a> {
+<a class="jxr_linenumber" name="L1282" href="#L1282">1282</a> <strong class="jxr_keyword">if</strong> (EmailUtils.isNotEmpty(<strong class="jxr_keyword">this</strong>.charset))
+<a class="jxr_linenumber" name="L1283" href="#L1283">1283</a> {
+<a class="jxr_linenumber" name="L1284" href="#L1284">1284</a> <strong class="jxr_keyword">this</strong>.message.setSubject(<strong class="jxr_keyword">this</strong>.subject, <strong class="jxr_keyword">this</strong>.charset);
+<a class="jxr_linenumber" name="L1285" href="#L1285">1285</a> }
+<a class="jxr_linenumber" name="L1286" href="#L1286">1286</a> <strong class="jxr_keyword">else</strong>
+<a class="jxr_linenumber" name="L1287" href="#L1287">1287</a> {
+<a class="jxr_linenumber" name="L1288" href="#L1288">1288</a> <strong class="jxr_keyword">this</strong>.message.setSubject(<strong class="jxr_keyword">this</strong>.subject);
+<a class="jxr_linenumber" name="L1289" href="#L1289">1289</a> }
+<a class="jxr_linenumber" name="L1290" href="#L1290">1290</a> }
+<a class="jxr_linenumber" name="L1291" href="#L1291">1291</a>
+<a class="jxr_linenumber" name="L1292" href="#L1292">1292</a> <em class="jxr_comment">// update content type (and encoding)</em>
+<a class="jxr_linenumber" name="L1293" href="#L1293">1293</a> <strong class="jxr_keyword">this</strong>.updateContentType(<strong class="jxr_keyword">this</strong>.contentType);
+<a class="jxr_linenumber" name="L1294" href="#L1294">1294</a>
+<a class="jxr_linenumber" name="L1295" href="#L1295">1295</a> <strong class="jxr_keyword">if</strong> (<strong class="jxr_keyword">this</strong>.content != <strong class="jxr_keyword">null</strong>)
+<a class="jxr_linenumber" name="L1296" href="#L1296">1296</a> {
+<a class="jxr_linenumber" name="L1297" href="#L1297">1297</a> <strong class="jxr_keyword">if</strong> (EmailConstants.TEXT_PLAIN.equalsIgnoreCase(<strong class="jxr_keyword">this</strong>.contentType)
+<a class="jxr_linenumber" name="L1298" href="#L1298">1298</a> && <strong class="jxr_keyword">this</strong>.content instanceof String)
+<a class="jxr_linenumber" name="L1299" href="#L1299">1299</a> {
+<a class="jxr_linenumber" name="L1300" href="#L1300">1300</a> <em class="jxr_comment">// EMAIL-104: call explicitly setText to use default mime charset</em>
+<a class="jxr_linenumber" name="L1301" href="#L1301">1301</a> <em class="jxr_comment">// (property "mail.mime.charset") in case none has been set</em>
+<a class="jxr_linenumber" name="L1302" href="#L1302">1302</a> <strong class="jxr_keyword">this</strong>.message.setText(<strong class="jxr_keyword">this</strong>.content.toString(), <strong class="jxr_keyword">this</strong>.charset);
+<a class="jxr_linenumber" name="L1303" href="#L1303">1303</a> }
+<a class="jxr_linenumber" name="L1304" href="#L1304">1304</a> <strong class="jxr_keyword">else</strong>
+<a class="jxr_linenumber" name="L1305" href="#L1305">1305</a> {
+<a class="jxr_linenumber" name="L1306" href="#L1306">1306</a> <strong class="jxr_keyword">this</strong>.message.setContent(<strong class="jxr_keyword">this</strong>.content, <strong class="jxr_keyword">this</strong>.contentType);
+<a class="jxr_linenumber" name="L1307" href="#L1307">1307</a> }
+<a class="jxr_linenumber" name="L1308" href="#L1308">1308</a> }
+<a class="jxr_linenumber" name="L1309" href="#L1309">1309</a> <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (<strong class="jxr_keyword">this</strong>.emailBody != <strong class="jxr_keyword">null</strong>)
+<a class="jxr_linenumber" name="L1310" href="#L1310">1310</a> {
+<a class="jxr_linenumber" name="L1311" href="#L1311">1311</a> <strong class="jxr_keyword">if</strong> (<strong class="jxr_keyword">this</strong>.contentType == <strong class="jxr_keyword">null</strong>)
+<a class="jxr_linenumber" name="L1312" href="#L1312">1312</a> {
+<a class="jxr_linenumber" name="L1313" href="#L1313">1313</a> <strong class="jxr_keyword">this</strong>.message.setContent(<strong class="jxr_keyword">this</strong>.emailBody);
+<a class="jxr_linenumber" name="L1314" href="#L1314">1314</a> }
+<a class="jxr_linenumber" name="L1315" href="#L1315">1315</a> <strong class="jxr_keyword">else</strong>
+<a class="jxr_linenumber" name="L1316" href="#L1316">1316</a> {
+<a class="jxr_linenumber" name="L1317" href="#L1317">1317</a> <strong class="jxr_keyword">this</strong>.message.setContent(<strong class="jxr_keyword">this</strong>.emailBody, <strong class="jxr_keyword">this</strong>.contentType);
+<a class="jxr_linenumber" name="L1318" href="#L1318">1318</a> }
+<a class="jxr_linenumber" name="L1319" href="#L1319">1319</a> }
+<a class="jxr_linenumber" name="L1320" href="#L1320">1320</a> <strong class="jxr_keyword">else</strong>
+<a class="jxr_linenumber" name="L1321" href="#L1321">1321</a> {
+<a class="jxr_linenumber" name="L1322" href="#L1322">1322</a> <strong class="jxr_keyword">this</strong>.message.setText(<span class="jxr_string">""</span>);
+<a class="jxr_linenumber" name="L1323" href="#L1323">1323</a> }
+<a class="jxr_linenumber" name="L1324" href="#L1324">1324</a>
+<a class="jxr_linenumber" name="L1325" href="#L1325">1325</a> <strong class="jxr_keyword">if</strong> (<strong class="jxr_keyword">this</strong>.fromAddress != <strong class="jxr_keyword">null</strong>)
+<a class="jxr_linenumber" name="L1326" href="#L1326">1326</a> {
+<a class="jxr_linenumber" name="L1327" href="#L1327">1327</a> <strong class="jxr_keyword">this</strong>.message.setFrom(<strong class="jxr_keyword">this</strong>.fromAddress);
+<a class="jxr_linenumber" name="L1328" href="#L1328">1328</a> }
+<a class="jxr_linenumber" name="L1329" href="#L1329">1329</a> <strong class="jxr_keyword">else</strong>
+<a class="jxr_linenumber" name="L1330" href="#L1330">1330</a> {
+<a class="jxr_linenumber" name="L1331" href="#L1331">1331</a> <strong class="jxr_keyword">if</strong> (session.getProperty(EmailConstants.MAIL_SMTP_FROM) == <strong class="jxr_keyword">null</strong>
+<a class="jxr_linenumber" name="L1332" href="#L1332">1332</a> && session.getProperty(EmailConstants.MAIL_FROM) == <strong class="jxr_keyword">null</strong>)
+<a class="jxr_linenumber" name="L1333" href="#L1333">1333</a> {
+<a class="jxr_linenumber" name="L1334" href="#L1334">1334</a> <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/commons/mail/EmailException.html">EmailException</a>(<span class="jxr_string">"From address required"</span>);
+<a class="jxr_linenumber" name="L1335" href="#L1335">1335</a> }
+<a class="jxr_linenumber" name="L1336" href="#L1336">1336</a> }
+<a class="jxr_linenumber" name="L1337" href="#L1337">1337</a>
+<a class="jxr_linenumber" name="L1338" href="#L1338">1338</a> <strong class="jxr_keyword">if</strong> (<strong class="jxr_keyword">this</strong>.toList.size() + <strong class="jxr_keyword">this</strong>.ccList.size() + <strong class="jxr_keyword">this</strong>.bccList.size() == 0)
+<a class="jxr_linenumber" name="L1339" href="#L1339">1339</a> {
+<a class="jxr_linenumber" name="L1340" href="#L1340">1340</a> <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/commons/mail/EmailException.html">EmailException</a>(<span class="jxr_string">"At least one receiver address required"</span>);
+<a class="jxr_linenumber" name="L1341" href="#L1341">1341</a> }
+<a class="jxr_linenumber" name="L1342" href="#L1342">1342</a>
+<a class="jxr_linenumber" name="L1343" href="#L1343">1343</a> <strong class="jxr_keyword">if</strong> (<strong class="jxr_keyword">this</strong>.toList.size() > 0)
+<a class="jxr_linenumber" name="L1344" href="#L1344">1344</a> {
+<a class="jxr_linenumber" name="L1345" href="#L1345">1345</a> <strong class="jxr_keyword">this</strong>.message.setRecipients(
+<a class="jxr_linenumber" name="L1346" href="#L1346">1346</a> Message.RecipientType.TO,
+<a class="jxr_linenumber" name="L1347" href="#L1347">1347</a> <strong class="jxr_keyword">this</strong>.toInternetAddressArray(<strong class="jxr_keyword">this</strong>.toList));
+<a class="jxr_linenumber" name="L1348" href="#L1348">1348</a> }
+<a class="jxr_linenumber" name="L1349" href="#L1349">1349</a>
+<a class="jxr_linenumber" name="L1350" href="#L1350">1350</a> <strong class="jxr_keyword">if</strong> (<strong class="jxr_keyword">this</strong>.ccList.size() > 0)
+<a class="jxr_linenumber" name="L1351" href="#L1351">1351</a> {
+<a class="jxr_linenumber" name="L1352" href="#L1352">1352</a> <strong class="jxr_keyword">this</strong>.message.setRecipients(
+<a class="jxr_linenumber" name="L1353" href="#L1353">1353</a> Message.RecipientType.CC,
+<a class="jxr_linenumber" name="L1354" href="#L1354">1354</a> <strong class="jxr_keyword">this</strong>.toInternetAddressArray(<strong class="jxr_keyword">this</strong>.ccList));
+<a class="jxr_linenumber" name="L1355" href="#L1355">1355</a> }
+<a class="jxr_linenumber" name="L1356" href="#L1356">1356</a>
+<a class="jxr_linenumber" name="L1357" href="#L1357">1357</a> <strong class="jxr_keyword">if</strong> (<strong class="jxr_keyword">this</strong>.bccList.size() > 0)
+<a class="jxr_linenumber" name="L1358" href="#L1358">1358</a> {
+<a class="jxr_linenumber" name="L1359" href="#L1359">1359</a> <strong class="jxr_keyword">this</strong>.message.setRecipients(
+<a class="jxr_linenumber" name="L1360" href="#L1360">1360</a> Message.RecipientType.BCC,
+<a class="jxr_linenumber" name="L1361" href="#L1361">1361</a> <strong class="jxr_keyword">this</strong>.toInternetAddressArray(<strong class="jxr_keyword">this</strong>.bccList));
+<a class="jxr_linenumber" name="L1362" href="#L1362">1362</a> }
+<a class="jxr_linenumber" name="L1363" href="#L1363">1363</a>
+<a class="jxr_linenumber" name="L1364" href="#L1364">1364</a> <strong class="jxr_keyword">if</strong> (<strong class="jxr_keyword">this</strong>.replyList.size() > 0)
+<a class="jxr_linenumber" name="L1365" href="#L1365">1365</a> {
+<a class="jxr_linenumber" name="L1366" href="#L1366">1366</a> <strong class="jxr_keyword">this</strong>.message.setReplyTo(
+<a class="jxr_linenumber" name="L1367" href="#L1367">1367</a> <strong class="jxr_keyword">this</strong>.toInternetAddressArray(<strong class="jxr_keyword">this</strong>.replyList));
+<a class="jxr_linenumber" name="L1368" href="#L1368">1368</a> }
+<a class="jxr_linenumber" name="L1369" href="#L1369">1369</a>
+<a class="jxr_linenumber" name="L1370" href="#L1370">1370</a>
+<a class="jxr_linenumber" name="L1371" href="#L1371">1371</a> <strong class="jxr_keyword">if</strong> (<strong class="jxr_keyword">this</strong>.headers.size() > 0)
+<a class="jxr_linenumber" name="L1372" href="#L1372">1372</a> {
+<a class="jxr_linenumber" name="L1373" href="#L1373">1373</a> <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">final</strong> Map.Entry<String, String> entry : <strong class="jxr_keyword">this</strong>.headers.entrySet())
+<a class="jxr_linenumber" name="L1374" href="#L1374">1374</a> {
+<a class="jxr_linenumber" name="L1375" href="#L1375">1375</a> <strong class="jxr_keyword">final</strong> String foldedValue = createFoldedHeaderValue(entry.getKey(), entry.getValue());
+<a class="jxr_linenumber" name="L1376" href="#L1376">1376</a> <strong class="jxr_keyword">this</strong>.message.addHeader(entry.getKey(), foldedValue);
+<a class="jxr_linenumber" name="L1377" href="#L1377">1377</a> }
<a class="jxr_linenumber" name="L1378" href="#L1378">1378</a> }
-<a class="jxr_linenumber" name="L1379" href="#L1379">1379</a> }
-<a class="jxr_linenumber" name="L1380" href="#L1380">1380</a> <strong class="jxr_keyword">catch</strong> (<strong class="jxr_keyword">final</strong> MessagingException me)
-<a class="jxr_linenumber" name="L1381" href="#L1381">1381</a> {
-<a class="jxr_linenumber" name="L1382" href="#L1382">1382</a> <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/commons/mail/EmailException.html">EmailException</a>(me);
-<a class="jxr_linenumber" name="L1383" href="#L1383">1383</a> }
-<a class="jxr_linenumber" name="L1384" href="#L1384">1384</a> }
-<a class="jxr_linenumber" name="L1385" href="#L1385">1385</a>
-<a class="jxr_linenumber" name="L1386" href="#L1386">1386</a> <em class="jxr_javadoccomment">/**</em>
-<a class="jxr_linenumber" name="L1387" href="#L1387">1387</a> <em class="jxr_javadoccomment"> * Sends the previously created MimeMessage to the SMTP server.</em>
-<a class="jxr_linenumber" name="L1388" href="#L1388">1388</a> <em class="jxr_javadoccomment"> *</em>
-<a class="jxr_linenumber" name="L1389" href="#L1389">1389</a> <em class="jxr_javadoccomment"> * @return the message id of the underlying MimeMessage</em>
-<a class="jxr_linenumber" name="L1390" href="#L1390">1390</a> <em class="jxr_javadoccomment"> * @throws IllegalArgumentException if the MimeMessage has not been created</em>
-<a class="jxr_linenumber" name="L1391" href="#L1391">1391</a> <em class="jxr_javadoccomment"> * @throws EmailException the sending failed</em>
-<a class="jxr_linenumber" name="L1392" href="#L1392">1392</a> <em class="jxr_javadoccomment"> */</em>
-<a class="jxr_linenumber" name="L1393" href="#L1393">1393</a> <strong class="jxr_keyword">public</strong> String sendMimeMessage()
-<a class="jxr_linenumber" name="L1394" href="#L1394">1394</a> <strong class="jxr_keyword">throws</strong> <a href="../../../../org/apache/commons/mail/EmailException.html">EmailException</a>
-<a class="jxr_linenumber" name="L1395" href="#L1395">1395</a> {
-<a class="jxr_linenumber" name="L1396" href="#L1396">1396</a> EmailUtils.notNull(<strong class="jxr_keyword">this</strong>.message, <span class="jxr_string">"MimeMessage has not been created yet"</span>);
-<a class="jxr_linenumber" name="L1397" href="#L1397">1397</a>
-<a class="jxr_linenumber" name="L1398" href="#L1398">1398</a> <strong class="jxr_keyword">try</strong>
-<a class="jxr_linenumber" name="L1399" href="#L1399">1399</a> {
-<a class="jxr_linenumber" name="L1400" href="#L1400">1400</a> Transport.send(<strong class="jxr_keyword">this</strong>.message);
-<a class="jxr_linenumber" name="L1401" href="#L1401">1401</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">this</strong>.message.getMessageID();
-<a class="jxr_linenumber" name="L1402" href="#L1402">1402</a> }
-<a class="jxr_linenumber" name="L1403" href="#L1403">1403</a> <strong class="jxr_keyword">catch</strong> (<strong class="jxr_keyword">final</strong> Throwable t)
-<a class="jxr_linenumber" name="L1404" href="#L1404">1404</a> {
-<a class="jxr_linenumber" name="L1405" href="#L1405">1405</a> <strong class="jxr_keyword">final</strong> String msg = <span class="jxr_string">"Sending the email to the following server failed : "</span>
-<a class="jxr_linenumber" name="L1406" href="#L1406">1406</a> + <strong class="jxr_keyword">this</strong>.getHostName()
-<a class="jxr_linenumber" name="L1407" href="#L1407">1407</a> + <span class="jxr_string">":"</span>
-<a class="jxr_linenumber" name="L1408" href="#L1408">1408</a> + <strong class="jxr_keyword">this</strong>.getSmtpPort();
-<a class="jxr_linenumber" name="L1409" href="#L1409">1409</a>
-<a class="jxr_linenumber" name="L1410" href="#L1410">1410</a> <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/commons/mail/EmailException.html">EmailException</a>(msg, t);
-<a class="jxr_linenumber" name="L1411" href="#L1411">1411</a> }
-<a class="jxr_linenumber" name="L1412" href="#L1412">1412</a> }
-<a class="jxr_linenumber" name="L1413" href="#L1413">1413</a>
-<a class="jxr_linenumber" name="L1414" href="#L1414">1414</a> <em class="jxr_javadoccomment">/**</em>
-<a class="jxr_linenumber" name="L1415" href="#L1415">1415</a> <em class="jxr_javadoccomment"> * Returns the internal MimeMessage. Please not that the</em>
-<a class="jxr_linenumber" name="L1416" href="#L1416">1416</a> <em class="jxr_javadoccomment"> * MimeMessage is build by the buildMimeMessage() method.</em>
-<a class="jxr_linenumber" name="L1417" href="#L1417">1417</a> <em class="jxr_javadoccomment"> *</em>
-<a class="jxr_linenumber" name="L1418" href="#L1418">1418</a> <em class="jxr_javadoccomment"> * @return the MimeMessage</em>
-<a class="jxr_linenumber" name="L1419" href="#L1419">1419</a> <em class="jxr_javadoccomment"> */</em>
-<a class="jxr_linenumber" name="L1420" href="#L1420">1420</a> <strong class="jxr_keyword">public</strong> MimeMessage getMimeMessage()
-<a class="jxr_linenumber" name="L1421" href="#L1421">1421</a> {
-<a class="jxr_linenumber" name="L1422" href="#L1422">1422</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">this</strong>.message;
+<a class="jxr_linenumber" name="L1379" href="#L1379">1379</a>
+<a class="jxr_linenumber" name="L1380" href="#L1380">1380</a> <strong class="jxr_keyword">if</strong> (<strong class="jxr_keyword">this</strong>.message.getSentDate() == <strong class="jxr_keyword">null</strong>)
+<a class="jxr_linenumber" name="L1381" href="#L1381">1381</a> {
+<a class="jxr_linenumber" name="L1382" href="#L1382">1382</a> <strong class="jxr_keyword">this</strong>.message.setSentDate(getSentDate());
+<a class="jxr_linenumber" name="L1383" href="#L1383">1383</a> }
+<a class="jxr_linenumber" name="L1384" href="#L1384">1384</a>
+<a class="jxr_linenumber" name="L1385" href="#L1385">1385</a> <strong class="jxr_keyword">if</strong> (<strong class="jxr_keyword">this</strong>.popBeforeSmtp)
+<a class="jxr_linenumber" name="L1386" href="#L1386">1386</a> {
+<a class="jxr_linenumber" name="L1387" href="#L1387">1387</a> <strong class="jxr_keyword">final</strong> Store store = session.getStore(<span class="jxr_string">"pop3"</span>);
+<a class="jxr_linenumber" name="L1388" href="#L1388">1388</a> store.connect(<strong class="jxr_keyword">this</strong>.popHost, <strong class="jxr_keyword">this</strong>.popUsername, <strong class="jxr_keyword">this</strong>.popPassword);
+<a class="jxr_linenumber" name="L1389" href="#L1389">1389</a> }
+<a class="jxr_linenumber" name="L1390" href="#L1390">1390</a> }
+<a class="jxr_linenumber" name="L1391" href="#L1391">1391</a> <strong class="jxr_keyword">catch</strong> (<strong class="jxr_keyword">final</strong> MessagingException me)
+<a class="jxr_linenumber" name="L1392" href="#L1392">1392</a> {
+<a class="jxr_linenumber" name="L1393" href="#L1393">1393</a> <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/commons/mail/EmailException.html">EmailException</a>(me);
+<a class="jxr_linenumber" name="L1394" href="#L1394">1394</a> }
+<a class="jxr_linenumber" name="L1395" href="#L1395">1395</a> }
+<a class="jxr_linenumber" name="L1396" href="#L1396">1396</a>
+<a class="jxr_linenumber" name="L1397" href="#L1397">1397</a> <em class="jxr_javadoccomment">/**</em>
+<a class="jxr_linenumber" name="L1398" href="#L1398">1398</a> <em class="jxr_javadoccomment"> * Sends the previously created MimeMessage to the SMTP server.</em>
+<a class="jxr_linenumber" name="L1399" href="#L1399">1399</a> <em class="jxr_javadoccomment"> *</em>
+<a class="jxr_linenumber" name="L1400" href="#L1400">1400</a> <em class="jxr_javadoccomment"> * @return the message id of the underlying MimeMessage</em>
+<a class="jxr_linenumber" name="L1401" href="#L1401">1401</a> <em class="jxr_javadoccomment"> * @throws IllegalArgumentException if the MimeMessage has not been created</em>
+<a class="jxr_linenumber" name="L1402" href="#L1402">1402</a> <em class="jxr_javadoccomment"> * @throws EmailException the sending failed</em>
+<a class="jxr_linenumber" name="L1403" href="#L1403">1403</a> <em class="jxr_javadoccomment"> */</em>
+<a class="jxr_linenumber" name="L1404" href="#L1404">1404</a> <strong class="jxr_keyword">public</strong> String sendMimeMessage()
+<a class="jxr_linenumber" name="L1405" href="#L1405">1405</a> <strong class="jxr_keyword">throws</strong> <a href="../../../../org/apache/commons/mail/EmailException.html">EmailException</a>
+<a class="jxr_linenumber" name="L1406" href="#L1406">1406</a> {
+<a class="jxr_linenumber" name="L1407" href="#L1407">1407</a> EmailUtils.notNull(<strong class="jxr_keyword">this</strong>.message, <span class="jxr_string">"MimeMessage has not been created yet"</span>);
+<a class="jxr_linenumber" name="L1408" href="#L1408">1408</a>
+<a class="jxr_linenumber" name="L1409" href="#L1409">1409</a> <strong class="jxr_keyword">try</strong>
+<a class="jxr_linenumber" name="L1410" href="#L1410">1410</a> {
+<a class="jxr_linenumber" name="L1411" href="#L1411">1411</a> Transport.send(<strong class="jxr_keyword">this</strong>.message);
+<a class="jxr_linenumber" name="L1412" href="#L1412">1412</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">this</strong>.message.getMessageID();
+<a class="jxr_linenumber" name="L1413" href="#L1413">1413</a> }
+<a class="jxr_linenumber" name="L1414" href="#L1414">1414</a> <strong class="jxr_keyword">catch</strong> (<strong class="jxr_keyword">final</strong> Throwable t)
+<a class="jxr_linenumber" name="L1415" href="#L1415">1415</a> {
+<a class="jxr_linenumber" name="L1416" href="#L1416">1416</a> <strong class="jxr_keyword">final</strong> String msg = <span class="jxr_string">"Sending the email to the following server failed : "</span>
+<a class="jxr_linenumber" name="L1417" href="#L1417">1417</a> + <strong class="jxr_keyword">this</strong>.getHostName()
+<a class="jxr_linenumber" name="L1418" href="#L1418">1418</a> + <span class="jxr_string">":"</span>
+<a class="jxr_linenumber" name="L1419" href="#L1419">1419</a> + <strong class="jxr_keyword">this</strong>.getSmtpPort();
+<a class="jxr_linenumber" name="L1420" href="#L1420">1420</a>
+<a class="jxr_linenumber" name="L1421" href="#L1421">1421</a> <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/commons/mail/EmailException.html">EmailException</a>(msg, t);
+<a class="jxr_linenumber" name="L1422" href="#L1422">1422</a> }
<a class="jxr_linenumber" name="L1423" href="#L1423">1423</a> }
<a class="jxr_linenumber" name="L1424" href="#L1424">1424</a>
<a class="jxr_linenumber" name="L1425" href="#L1425">1425</a> <em class="jxr_javadoccomment">/**</em>
-<a class="jxr_linenumber" name="L1426" href="#L1426">1426</a> <em class="jxr_javadoccomment"> * Sends the email. Internally we build a MimeMessage</em>
-<a class="jxr_linenumber" name="L1427" href="#L1427">1427</a> <em class="jxr_javadoccomment"> * which is afterwards sent to the SMTP server.</em>
+<a class="jxr_linenumber" name="L1426" href="#L1426">1426</a> <em class="jxr_javadoccomment"> * Returns the internal MimeMessage. Please not that the</em>
+<a class="jxr_linenumber" name="L1427" href="#L1427">1427</a> <em class="jxr_javadoccomment"> * MimeMessage is build by the buildMimeMessage() method.</em>
<a class="jxr_linenumber" name="L1428" href="#L1428">1428</a> <em class="jxr_javadoccomment"> *</em>
-<a class="jxr_linenumber" name="L1429" href="#L1429">1429</a> <em class="jxr_javadoccomment"> * @return the message id of the underlying MimeMessage</em>
-<a class="jxr_linenumber" name="L1430" href="#L1430">1430</a> <em class="jxr_javadoccomment"> * @throws IllegalStateException if the MimeMessage was already built, ie {@link #buildMimeMessage()}</em>
-<a class="jxr_linenumber" name="L1431" href="#L1431">1431</a> <em class="jxr_javadoccomment"> * was already called</em>
-<a class="jxr_linenumber" name="L1432" href="#L1432">1432</a> <em class="jxr_javadoccomment"> * @throws EmailException the sending failed</em>
-<a class="jxr_linenumber" name="L1433" href="#L1433">1433</a> <em class="jxr_javadoccomment"> */</em>
-<a class="jxr_linenumber" name="L1434" href="#L1434">1434</a> <strong class="jxr_keyword">public</strong> String send() <strong class="jxr_keyword">throws</strong> EmailException
-<a class="jxr_linenumber" name="L1435" href="#L1435">1435</a> {
-<a class="jxr_linenumber" name="L1436" href="#L1436">1436</a> <strong class="jxr_keyword">this</strong>.buildMimeMessage();
-<a class="jxr_linenumber" name="L1437" href="#L1437">1437</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">this</strong>.sendMimeMessage();
-<a class="jxr_linenumber" name="L1438" href="#L1438">1438</a> }
-<a class="jxr_linenumber" name="L1439" href="#L1439">1439</a>
-<a class="jxr_linenumber" name="L1440" href="#L1440">1440</a> <em class="jxr_javadoccomment">/**</em>
-<a class="jxr_linenumber" name="L1441" href="#L1441">1441</a> <em class="jxr_javadoccomment"> * Sets the sent date for the email. The sent date will default to the</em>
-<a class="jxr_linenumber" name="L1442" href="#L1442">1442</a> <em class="jxr_javadoccomment"> * current date if not explicitly set.</em>
-<a class="jxr_linenumber" name="L1443" href="#L1443">1443</a> <em class="jxr_javadoccomment"> *</em>
-<a class="jxr_linenumber" name="L1444" href="#L1444">1444</a> <em class="jxr_javadoccomment"> * @param date Date to use as the sent date on the email</em>
-<a class="jxr_linenumber" name="L1445" href="#L1445">1445</a> <em class="jxr_javadoccomment"> * @since 1.0</em>
-<a class="jxr_linenumber" name="L1446" href="#L1446">1446</a> <em class="jxr_javadoccomment"> */</em>
-<a class="jxr_linenumber" name="L1447" href="#L1447">1447</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setSentDate(<strong class="jxr_keyword">final</strong> Date date)
-<a class="jxr_linenumber" name="L1448" href="#L1448">1448</a> {
-<a class="jxr_linenumber" name="L1449" href="#L1449">1449</a> <strong class="jxr_keyword">if</strong> (date != <strong class="jxr_keyword">null</strong>)
-<a class="jxr_linenumber" name="L1450" href="#L1450">1450</a> {
-<a class="jxr_linenumber" name="L1451" href="#L1451">1451</a> <em class="jxr_comment">// create a separate instance to keep findbugs happy</em>
-<a class="jxr_linenumber" name="L1452" href="#L1452">1452</a> <strong class="jxr_keyword">this</strong>.sentDate = <strong class="jxr_keyword">new</strong> Date(date.getTime());
-<a class="jxr_linenumber" name="L1453" href="#L1453">1453</a> }
-<a class="jxr_linenumber" name="L1454" href="#L1454">1454</a> }
-<a class="jxr_linenumber" name="L1455" href="#L1455">1455</a>
-<a class="jxr_linenumber" name="L1456" href="#L1456">1456</a> <em class="jxr_javadoccomment">/**</em>
-<a class="jxr_linenumber" name="L1457" href="#L1457">1457</a> <em class="jxr_javadoccomment"> * Gets the sent date for the email.</em>
-<a class="jxr_linenumber" name="L1458" href="#L1458">1458</a> <em class="jxr_javadoccomment"> *</em>
-<a class="jxr_linenumber" name="L1459" href="#L1459">1459</a> <em class="jxr_javadoccomment"> * @return date to be used as the sent date for the email</em>
-<a class="jxr_linenumber" name="L1460" href="#L1460">1460</a> <em class="jxr_javadoccomment"> * @since 1.0</em>
-<a class="jxr_linenumber" name="L1461" href="#L1461">1461</a> <em class="jxr_javadoccomment"> */</em>
-<a class="jxr_linenumber" name="L1462" href="#L1462">1462</a> <strong class="jxr_keyword">public</strong> Date getSentDate()
-<a class="jxr_linenumber" name="L1463" href="#L1463">1463</a> {
-<a class="jxr_linenumber" name="L1464" href="#L1464">1464</a> <strong class="jxr_keyword">if</strong> (<strong class="jxr_keyword">this</strong>.sentDate == <strong class="jxr_keyword">null</strong>)
-<a class="jxr_linenumber" name="L1465" href="#L1465">1465</a> {
-<a class="jxr_linenumber" name="L1466" href="#L1466">1466</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> Date();
-<a class="jxr_linenumber" name="L1467" href="#L1467">1467</a> }
-<a class="jxr_linenumber" name="L1468" href="#L1468">1468</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> Date(<strong class="jxr_keyword">this</strong>.sentDate.getTime());
-<a class="jxr_linenumber" name="L1469" href="#L1469">1469</a> }
-<a class="jxr_linenumber" name="L1470" href="#L1470">1470</a>
-<a class="jxr_linenumber" name="L1471" href="#L1471">1471</a> <em class="jxr_javadoccomment">/**</em>
-<a class="jxr_linenumber" name="L1472" href="#L1472">1472</a> <em class="jxr_javadoccomment"> * Gets the subject of the email.</em>
-<a class="jxr_linenumber" name="L1473" href="#L1473">1473</a> <em class="jxr_javadoccomment"> *</em>
-<a class="jxr_linenumber" name="L1474" href="#L1474">1474</a> <em class="jxr_javadoccomment"> * @return email subject</em>
-<a class="jxr_linenumber" name="L1475" href="#L1475">1475</a> <em class="jxr_javadoccomment"> */</em>
-<a class="jxr_linenumber" name="L1476" href="#L1476">1476</a> <strong class="jxr_keyword">public</strong> String getSubject()
-<a class="jxr_linenumber" name="L1477" href="#L1477">1477</a> {
-<a class="jxr_linenumber" name="L1478" href="#L1478">1478</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">this</strong>.subject;
-<a class="jxr_linenumber" name="L1479" href="#L1479">1479</a> }
-<a class="jxr_linenumber" name="L1480" href="#L1480">1480</a>
-<a class="jxr_linenumber" name="L1481" href="#L1481">1481</a> <em class="jxr_javadoccomment">/**</em>
-<a class="jxr_linenumber" name="L1482" href="#L1482">1482</a> <em class="jxr_javadoccomment"> * Gets the sender of the email.</em>
-<a class="jxr_linenumber" name="L1483" href="#L1483">1483</a> <em class="jxr_javadoccomment"> *</em>
-<a class="jxr_linenumber" name="L1484" href="#L1484">1484</a> <em class="jxr_javadoccomment"> * @return from address</em>
-<a class="jxr_linenumber" name="L1485" href="#L1485">1485</a> <em class="jxr_javadoccomment"> */</em>
-<a class="jxr_linenumber" name="L1486" href="#L1486">1486</a> <strong class="jxr_keyword">public</strong> InternetAddress getFromAddress()
-<a class="jxr_linenumber" name="L1487" href="#L1487">1487</a> {
-<a class="jxr_linenumber" name="L1488" href="#L1488">1488</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">this</strong>.fromAddress;
-<a class="jxr_linenumber" name="L1489" href="#L1489">1489</a> }
-<a class="jxr_linenumber" name="L1490" href="#L1490">1490</a>
-<a class="jxr_linenumber" name="L1491" href="#L1491">1491</a> <em class="jxr_javadoccomment">/**</em>
-<a class="jxr_linenumber" name="L1492" href="#L1492">1492</a> <em class="jxr_javadoccomment"> * Gets the host name of the SMTP server,</em>
-<a class="jxr_linenumber" name="L1493" href="#L1493">1493</a> <em class="jxr_javadoccomment"> *</em>
-<a class="jxr_linenumber" name="L1494" href="#L1494">1494</a> <em class="jxr_javadoccomment"> * @return host name</em>
-<a class="jxr_linenumber" name="L1495" href="#L1495">1495</a> <em class="jxr_javadoccomment"> */</em>
-<a class="jxr_linenumber" name="L1496" href="#L1496">1496</a> <strong class="jxr_keyword">public</strong> String getHostName()
-<a class="jxr_linenumber" name="L1497" href="#L1497">1497</a> {
-<a class="jxr_linenumber" name="L1498" href="#L1498">1498</a> <strong class="jxr_keyword">if</strong> (<strong class="jxr_keyword">this</strong>.session != <strong class="jxr_keyword">null</strong>)
-<a class="jxr_linenumber" name="L1499" href="#L1499">1499</a> {
-<a class="jxr_linenumber" name="L1500" href="#L1500">1500</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">this</strong>.session.getProperty(MAIL_HOST);
-<a class="jxr_linenumber" name="L1501" href="#L1501">1501</a> }
-<a class="jxr_linenumber" name="L1502" href="#L1502">1502</a> <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (EmailUtils.isNotEmpty(<strong class="jxr_keyword">this</strong>.hostName))
-<a class="jxr_linenumber" name="L1503" href="#L1503">1503</a> {
-<a class="jxr_linenumber" name="L1504" href="#L1504">1504</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">this</strong>.hostName;
-<a class="jxr_linenumber" name="L1505" href="#L1505">1505</a> }
-<a class="jxr_linenumber" name="L1506" href="#L1506">1506</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>;
-<a class="jxr_linenumber" name="L1507" href="#L1507">1507</a> }
-<a class="jxr_linenumber" name="L1508" href="#L1508">1508</a>
-<a class="jxr_linenumber" name="L1509" href="#L1509">1509</a> <em class="jxr_javadoccomment">/**</em>
-<a class="jxr_linenumber" name="L1510" href="#L1510">1510</a> <em class="jxr_javadoccomment"> * Gets the listening port of the SMTP server.</em>
-<a class="jxr_linenumber" name="L1511" href="#L1511">1511</a> <em class="jxr_javadoccomment"> *</em>
-<a class="jxr_linenumber" name="L1512" href="#L1512">1512</a> <em class="jxr_javadoccomment"> * @return smtp port</em>
-<a class="jxr_linenumber" name="L1513" href="#L1513">1513</a> <em class="jxr_javadoccomment"> */</em>
-<a class="jxr_linenumber" name="L1514" href="#L1514">1514</a> <strong class="jxr_keyword">public</strong> String getSmtpPort()
-<a class="jxr_linenumber" name="L1515" href="#L1515">1515</a> {
-<a class="jxr_linenumber" name="L1516" href="#L1516">1516</a> <strong class="jxr_keyword">if</strong> (<strong class="jxr_keyword">this</strong>.session != <strong class="jxr_keyword">null</strong>)
-<a class="jxr_linenumber" name="L1517" href="#L1517">1517</a> {
-<a class="jxr_linenumber" name="L1518" href="#L1518">1518</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">this</strong>.session.getProperty(MAIL_PORT);
-<a class="jxr_linenumber" name="L1519" href="#L1519">1519</a> }
-<a class="jxr_linenumber" name="L1520" href="#L1520">1520</a> <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (EmailUtils.isNotEmpty(<strong class="jxr_keyword">this</strong>.smtpPort))
-<a class="jxr_linenumber" name="L1521" href="#L1521">1521</a> {
-<a class="jxr_linenumber" name="L1522" href="#L1522">1522</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">this</strong>.smtpPort;
-<a class="jxr_linenumber" name="L1523" href="#L1523">1523</a> }
-<a class="jxr_linenumber" name="L1524" href="#L1524">1524</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>;
-<a class="jxr_linenumber" name="L1525" href="#L1525">1525</a> }
-<a class="jxr_linenumber" name="L1526" href="#L1526">1526</a>
-<a class="jxr_linenumber" name="L1527" href="#L1527">1527</a> <em class="jxr_javadoccomment">/**</em>
-<a class="jxr_linenumber" name="L1528" href="#L1528">1528</a> <em class="jxr_javadoccomment"> * Gets whether the client is configured to require STARTTLS.</em>
-<a class="jxr_linenumber" name="L1529" href="#L1529">1529</a> <em class="jxr_javadoccomment"> *</em>
-<a class="jxr_linenumber" name="L1530" href="#L1530">1530</a> <em class="jxr_javadoccomment"> * @return true if using STARTTLS for authentication, false otherwise</em>
-<a class="jxr_linenumber" name="L1531" href="#L1531">1531</a> <em class="jxr_javadoccomment"> * @since 1.3</em>
-<a class="jxr_linenumber" name="L1532" href="#L1532">1532</a> <em class="jxr_javadoccomment"> */</em>
-<a class="jxr_linenumber" name="L1533" href="#L1533">1533</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> isStartTLSRequired()
-<a class="jxr_linenumber" name="L1534" href="#L1534">1534</a> {
-<a class="jxr_linenumber" name="L1535" href="#L1535">1535</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">this</strong>.startTlsRequired;
+<a class="jxr_linenumber" name="L1429" href="#L1429">1429</a> <em class="jxr_javadoccomment"> * @return the MimeMessage</em>
+<a class="jxr_linenumber" name="L1430" href="#L1430">1430</a> <em class="jxr_javadoccomment"> */</em>
+<a class="jxr_linenumber" name="L1431" href="#L1431">1431</a> <strong class="jxr_keyword">public</strong> MimeMessage getMimeMessage()
+<a class="jxr_linenumber" name="L1432" href="#L1432">1432</a> {
+<a class="jxr_linenumber" name="L1433" href="#L1433">1433</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">this</strong>.message;
+<a class="jxr_linenumber" name="L1434" href="#L1434">1434</a> }
+<a class="jxr_linenumber" name="L1435" href="#L1435">1435</a>
+<a class="jxr_linenumber" name="L1436" href="#L1436">1436</a> <em class="jxr_javadoccomment">/**</em>
+<a class="jxr_linenumber" name="L1437" href="#L1437">1437</a> <em class="jxr_javadoccomment"> * Sends the email. Internally we build a MimeMessage</em>
+<a class="jxr_linenumber" name="L1438" href="#L1438">1438</a> <em class="jxr_javadoccomment"> * which is afterwards sent to the SMTP server.</em>
+<a class="jxr_linenumber" name="L1439" href="#L1439">1439</a> <em class="jxr_javadoccomment"> *</em>
+<a class="jxr_linenumber" name="L1440" href="#L1440">1440</a> <em class="jxr_javadoccomment"> * @return the message id of the underlying MimeMessage</em>
+<a class="jxr_linenumber" name="L1441" href="#L1441">1441</a> <em class="jxr_javadoccomment"> * @throws IllegalStateException if the MimeMessage was already built, ie {@link #buildMimeMessage()}</em>
+<a class="jxr_linenumber" name="L1442" href="#L1442">1442</a> <em class="jxr_javadoccomment"> * was already called</em>
+<a class="jxr_linenumber" name="L1443" href="#L1443">1443</a> <em class="jxr_javadoccomment"> * @throws EmailException the sending failed</em>
+<a class="jxr_linenumber" name="L1444" href="#L1444">1444</a> <em class="jxr_javadoccomment"> */</em>
+<a class="jxr_linenumber" name="L1445" href="#L1445">1445</a> <strong class="jxr_keyword">public</strong> String send() <strong class="jxr_keyword">throws</strong> EmailException
+<a class="jxr_linenumber" name="L1446" href="#L1446">1446</a> {
+<a class="jxr_linenumber" name="L1447" href="#L1447">1447</a> <strong class="jxr_keyword">this</strong>.buildMimeMessage();
+<a class="jxr_linenumber" name="L1448" href="#L1448">1448</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">this</strong>.sendMimeMessage();
+<a class="jxr_linenumber" name="L1449" href="#L1449">1449</a> }
+<a class="jxr_linenumber" name="L1450" href="#L1450">1450</a>
+<a class="jxr_linenumber" name="L1451" href="#L1451">1451</a> <em class="jxr_javadoccomment">/**</em>
+<a class="jxr_linenumber" name="L1452" href="#L1452">1452</a> <em class="jxr_javadoccomment"> * Sets the sent date for the email. The sent date will default to the</em>
+<a class="jxr_linenumber" name="L1453" href="#L1453">1453</a> <em class="jxr_javadoccomment"> * current date if not explicitly set.</em>
+<a class="jxr_linenumber" name="L1454" href="#L1454">1454</a> <em class="jxr_javadoccomment"> *</em>
+<a class="jxr_linenumber" name="L1455" href="#L1455">1455</a> <em class="jxr_javadoccomment"> * @param date Date to use as the sent date on the email</em>
+<a class="jxr_linenumber" name="L1456" href="#L1456">1456</a> <em class="jxr_javadoccomment"> * @since 1.0</em>
+<a class="jxr_linenumber" name="L1457" href="#L1457">1457</a> <em class="jxr_javadoccomment"> */</em>
+<a class="jxr_linenumber" name="L1458" href="#L1458">1458</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setSentDate(<strong class="jxr_keyword">final</strong> Date date)
+<a class="jxr_linenumber" name="L1459" href="#L1459">1459</a> {
+<a class="jxr_linenumber" name="L1460" href="#L1460">1460</a> <strong class="jxr_keyword">if</strong> (date != <strong class="jxr_keyword">null</strong>)
+<a class="jxr_linenumber" name="L1461" href="#L1461">1461</a> {
+<a class="jxr_linenumber" name="L1462" href="#L1462">1462</a> <em class="jxr_comment">// create a separate instance to keep findbugs happy</em>
+<a class="jxr_linenumber" name="L1463" href="#L1463">1463</a> <strong class="jxr_keyword">this</strong>.sentDate = <strong class="jxr_keyword">new</strong> Date(date.getTime());
+<a class="jxr_linenumber" name="L1464" href="#L1464">1464</a> }
+<a class="jxr_linenumber" name="L1465" href="#L1465">1465</a> }
+<a class="jxr_linenumber" name="L1466" href="#L1466">1466</a>
+<a class="jxr_linenumber" name="L1467" href="#L1467">1467</a> <em class="jxr_javadoccomment">/**</em>
+<a class="jxr_linenumber" name="L1468" href="#L1468">1468</a> <em class="jxr_javadoccomment"> * Gets the sent date for the email.</em>
+<a class="jxr_linenumber" name="L1469" href="#L1469">1469</a> <em class="jxr_javadoccomment"> *</em>
+<a class="jxr_linenumber" name="L1470" href="#L1470">1470</a> <em class="jxr_javadoccomment"> * @return date to be used as the sent date for the email</em>
+<a class="jxr_linenumber" name="L1471" href="#L1471">1471</a> <em class="jxr_javadoccomment"> * @since 1.0</em>
+<a class="jxr_linenumber" name="L1472" href="#L1472">1472</a> <em class="jxr_javadoccomment"> */</em>
+<a class="jxr_linenumber" name="L1473" href="#L1473">1473</a> <strong class="jxr_keyword">public</strong> Date getSentDate()
+<a class="jxr_linenumber" name="L1474" href="#L1474">1474</a> {
+<a class="jxr_linenumber" name="L1475" href="#L1475">1475</a> <strong class="jxr_keyword">if</strong> (<strong class="jxr_keyword">this</strong>.sentDate == <strong class="jxr_keyword">null</strong>)
+<a class="jxr_linenumber" name="L1476" href="#L1476">1476</a> {
+<a class="jxr_linenumber" name="L1477" href="#L1477">1477</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> Date();
+<a class="jxr_linenumber" name="L1478" href="#L1478">1478</a> }
+<a class="jxr_linenumber" name="L1479" href="#L1479">1479</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> Date(<strong class="jxr_keyword">this</strong>.sentDate.getTime());
+<a class="jxr_linenumber" name="L1480" href="#L1480">1480</a> }
+<a class="jxr_linenumber" name="L1481" href="#L1481">1481</a>
+<a class="jxr_linenumber" name="L1482" href="#L1482">1482</a> <em class="jxr_javadoccomment">/**</em>
+<a class="jxr_linenumber" name="L1483" href="#L1483">1483</a> <em class="jxr_javadoccomment"> * Gets the subject of the email.</em>
+<a class="jxr_linenumber" name="L1484" href="#L1484">1484</a> <em class="jxr_javadoccomment"> *</em>
+<a class="jxr_linenumber" name="L1485" href="#L1485">1485</a> <em class="jxr_javadoccomment"> * @return email subject</em>
+<a class="jxr_linenumber" name="L1486" href="#L1486">1486</a> <em class="jxr_javadoccomment"> */</em>
+<a class="jxr_linenumber" name="L1487" href="#L1487">1487</a> <strong class="jxr_keyword">public</strong> String getSubject()
+<a class="jxr_linenumber" name="L1488" href="#L1488">1488</a> {
+<a class="jxr_linenumber" name="L1489" href="#L1489">1489</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">this</strong>.subject;
+<a class="jxr_linenumber" name="L1490" href="#L1490">1490</a> }
+<a class="jxr_linenumber" name="L1491" href="#L1491">1491</a>
+<a class="jxr_linenumber" name="L1492" href="#L1492">1492</a> <em class="jxr_javadoccomment">/**</em>
+<a class="jxr_linenumber" name="L1493" href="#L1493">1493</a> <em class="jxr_javadoccomment"> * Gets the sender of the email.</em>
+<a class="jxr_linenumber" name="L1494" href="#L1494">1494</a> <em class="jxr_javadoccomment"> *</em>
+<a class="jxr_linenumber" name="L1495" href="#L1495">1495</a> <em class="jxr_javadoccomment"> * @return from address</em>
+<a class="jxr_linenumber" name="L1496" href="#L1496">1496</a> <em class="jxr_javadoccomment"> */</em>
+<a class="jxr_linenumber" name="L1497" href="#L1497">1497</a> <strong class="jxr_keyword">public</strong> InternetAddress getFromAddress()
+<a class="jxr_linenumber" name="L1498" href="#L1498">1498</a> {
+<a class="jxr_linenumber" name="L1499" href="#L1499">1499</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">this</strong>.fromAddress;
+<a class="jxr_linenumber" name="L1500" href="#L1500">1500</a> }
+<a class="jxr_linenumber" name="L1501" href="#L1501">1501</a>
+<a class="jxr_linenumber" name="L1502" href="#L1502">1502</a> <em class="jxr_javadoccomment">/**</em>
+<a class="jxr_linenumber" name="L1503" href="#L1503">1503</a> <em class="jxr_javadoccomment"> * Gets the host name of the SMTP server,</em>
+<a class="jxr_linenumber" name="L1504" href="#L1504">1504</a> <em class="jxr_javadoccomment"> *</em>
+<a class="jxr_linenumber" name="L1505" href="#L1505">1505</a> <em class="jxr_javadoccomment"> * @return host name</em>
+<a class="jxr_linenumber" name="L1506" href="#L1506">1506</a> <em class="jxr_javadoccomment"> */</em>
+<a class="jxr_linenumber" name="L1507" href="#L1507">1507</a> <strong class="jxr_keyword">public</strong> String getHostName()
+<a class="jxr_linenumber" name="L1508" href="#L1508">1508</a> {
+<a class="jxr_linenumber" name="L1509" href="#L1509">1509</a> <strong class="jxr_keyword">if</strong> (<strong class="jxr_keyword">this</strong>.session != <strong class="jxr_keyword">null</strong>)
+<a class="jxr_linenumber" name="L1510" href="#L1510">1510</a> {
+<a class="jxr_linenumber" name="L1511" href="#L1511">1511</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">this</strong>.session.getProperty(MAIL_HOST);
+<a class="jxr_linenumber" name="L1512" href="#L1512">1512</a> }
+<a class="jxr_linenumber" name="L1513" href="#L1513">1513</a> <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (EmailUtils.isNotEmpty(<strong class="jxr_keyword">this</strong>.hostName))
+<a class="jxr_linenumber" name="L1514" href="#L1514">1514</a> {
+<a class="jxr_linenumber" name="L1515" href="#L1515">1515</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">this</strong>.hostName;
+<a class="jxr_linenumber" name="L1516" href="#L1516">1516</a> }
+<a class="jxr_linenumber" name="L1517" href="#L1517">1517</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>;
+<a class="jxr_linenumber" name="L1518" href="#L1518">1518</a> }
+<a class="jxr_linenumber" name="L1519" href="#L1519">1519</a>
+<a class="jxr_linenumber" name="L1520" href="#L1520">1520</a> <em class="jxr_javadoccomment">/**</em>
+<a class="jxr_linenumber" name="L1521" href="#L1521">1521</a> <em class="jxr_javadoccomment"> * Gets the listening port of the SMTP server.</em>
+<a class="jxr_linenumber" name="L1522" href="#L1522">1522</a> <em class="jxr_javadoccomment"> *</em>
+<a class="jxr_linenumber" name="L1523" href="#L1523">1523</a> <em class="jxr_javadoccomment"> * @return smtp port</em>
+<a class="jxr_linenumber" name="L1524" href="#L1524">1524</a> <em class="jxr_javadoccomment"> */</em>
+<a class="jxr_linenumber" name="L1525" href="#L1525">1525</a> <strong class="jxr_keyword">public</strong> String getSmtpPort()
+<a class="jxr_linenumber" name="L1526" href="#L1526">1526</a> {
+<a class="jxr_linenumber" name="L1527" href="#L1527">1527</a> <strong class="jxr_keyword">if</strong> (<strong class="jxr_keyword">this</strong>.session != <strong class="jxr_keyword">null</strong>)
+<a class="jxr_linenumber" name="L1528" href="#L1528">1528</a> {
+<a class="jxr_linenumber" name="L1529" href="#L1529">1529</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">this</strong>.session.getProperty(MAIL_PORT);
+<a class="jxr_linenumber" name="L1530" href="#L1530">1530</a> }
+<a class="jxr_linenumber" name="L1531" href="#L1531">1531</a> <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (EmailUtils.isNotEmpty(<strong class="jxr_keyword">this</strong>.smtpPort))
+<a class="jxr_linenumber" name="L1532" href="#L1532">1532</a> {
+<a class="jxr_linenumber" name="L1533" href="#L1533">1533</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">this</strong>.smtpPort;
+<a class="jxr_linenumber" name="L1534" href="#L1534">1534</a> }
+<a class="jxr_linenumber" name="L1535" href="#L1535">1535</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>;
<a class="jxr_linenumber" name="L1536" href="#L1536">1536</a> }
<a class="jxr_linenumber" name="L1537" href="#L1537">1537</a>
<a class="jxr_linenumber" name="L1538" href="#L1538">1538</a> <em class="jxr_javadoccomment">/**</em>
-<a class="jxr_linenumber" name="L1539" href="#L1539">1539</a> <em class="jxr_javadoccomment"> * Gets whether the client is configured to try to enable STARTTLS.</em>
+<a class="jxr_linenumber" name="L1539" href="#L1539">1539</a> <em class="jxr_javadoccomment"> * Gets whether the client is configured to require STARTTLS.</em>
<a class="jxr_linenumber" name="L1540" href="#L1540">1540</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="L1541" href="#L1541">1541</a> <em class="jxr_javadoccomment"> * @return true if using STARTTLS for authentication, false otherwise</em>
<a class="jxr_linenumber" name="L1542" href="#L1542">1542</a> <em class="jxr_javadoccomment"> * @since 1.3</em>
<a class="jxr_linenumber" name="L1543" href="#L1543">1543</a> <em class="jxr_javadoccomment"> */</em>
-<a class="jxr_linenumber" name="L1544" href="#L1544">1544</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> isStartTLSEnabled()
+<a class="jxr_linenumber" name="L1544" href="#L1544">1544</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> isStartTLSRequired()
<a class="jxr_linenumber" name="L1545" href="#L1545">1545</a> {
-<a class="jxr_linenumber" name="L1546" href="#L1546">1546</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">this</strong>.startTlsEnabled || tls;
+<a class="jxr_linenumber" name="L1546" href="#L1546">1546</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">this</strong>.startTlsRequired;
<a class="jxr_linenumber" name="L1547" href="#L1547">1547</a> }
<a class="jxr_linenumber" name="L1548" href="#L1548">1548</a>
<a class="jxr_linenumber" name="L1549" href="#L1549">1549</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L1550" href="#L1550">1550</a> <em class="jxr_javadoccomment"> * Gets whether the client is configured to try to enable STARTTLS.</em>
-<a class="jxr_linenumber" name="L1551" href="#L1551">1551</a> <em class="jxr_javadoccomment"> * See EMAIL-105 for reason of deprecation.</em>
-<a class="jxr_linenumber" name="L1552" href="#L1552">1552</a> <em class="jxr_javadoccomment"> *</em>
-<a class="jxr_linenumber" name="L1553" href="#L1553">1553</a> <em class="jxr_javadoccomment"> * @deprecated since 1.3, use isStartTLSEnabled() instead</em>
-<a class="jxr_linenumber" name="L1554" href="#L1554">1554</a> <em class="jxr_javadoccomment"> * @return true if using STARTTLS for authentication, false otherwise</em>
-<a class="jxr_linenumber" name="L1555" href="#L1555">1555</a> <em class="jxr_javadoccomment"> * @since 1.1</em>
-<a class="jxr_linenumber" name="L1556" href="#L1556">1556</a> <em class="jxr_javadoccomment"> */</em>
-<a class="jxr_linenumber" name="L1557" href="#L1557">1557</a> @Deprecated
-<a class="jxr_linenumber" name="L1558" href="#L1558">1558</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> isTLS()
-<a class="jxr_linenumber" name="L1559" href="#L1559">1559</a> {
-<a class="jxr_linenumber" name="L1560" href="#L1560">1560</a> <strong class="jxr_keyword">return</strong> isStartTLSEnabled();
-<a class="jxr_linenumber" name="L1561" href="#L1561">1561</a> }
-<a class="jxr_linenumber" name="L1562" href="#L1562">1562</a>
-<a class="jxr_linenumber" name="L1563" href="#L1563">1563</a> <em class="jxr_javadoccomment">/**</em>
-<a class="jxr_linenumber" name="L1564" href="#L1564">1564</a> <em class="jxr_javadoccomment"> * Utility to copy List of known InternetAddress objects into an</em>
-<a class="jxr_linenumber" name="L1565" href="#L1565">1565</a> <em class="jxr_javadoccomment"> * array.</em>
-<a class="jxr_linenumber" name="L1566" href="#L1566">1566</a> <em class="jxr_javadoccomment"> *</em>
-<a class="jxr_linenumber" name="L1567" href="#L1567">1567</a> <em class="jxr_javadoccomment"> * @param list A List.</em>
-<a class="jxr_linenumber" name="L1568" href="#L1568">1568</a> <em class="jxr_javadoccomment"> * @return An InternetAddress[].</em>
-<a class="jxr_linenumber" name="L1569" href="#L1569">1569</a> <em class="jxr_javadoccomment"> * @since 1.0</em>
-<a class="jxr_linenumber" name="L1570" href="#L1570">1570</a> <em class="jxr_javadoccomment"> */</em>
-<a class="jxr_linenumber" name="L1571" href="#L1571">1571</a> <strong class="jxr_keyword">protected</strong> InternetAddress[] toInternetAddressArray(<strong class="jxr_keyword">final</strong> List<InternetAddress> list)
-<a class="jxr_linenumber" name="L1572" href="#L1572">1572</a> {
-<a class="jxr_linenumber" name="L1573" href="#L1573">1573</a> <strong class="jxr_keyword">return</strong> list.toArray(<strong class="jxr_keyword">new</strong> InternetAddress[list.size()]);
-<a class="jxr_linenumber" name="L1574" href="#L1574">1574</a> }
-<a class="jxr_linenumber" name="L1575" href="#L1575">1575</a>
-<a class="jxr_linenumber" name="L1576" href="#L1576">1576</a> <em class="jxr_javadoccomment">/**</em>
-<a class="jxr_linenumber" name="L1577" href="#L1577">1577</a> <em class="jxr_javadoccomment"> * Set details regarding "pop3 before smtp" authentication.</em>
-<a class="jxr_linenumber" name="L1578" href="#L1578">1578</a> <em class="jxr_javadoccomment"> *</em>
-<a class="jxr_linenumber" name="L1579" href="#L1579">1579</a> <em class="jxr_javadoccomment"> * @param newPopBeforeSmtp Whether or not to log into pop3 server before sending mail.</em>
-<a class="jxr_linenumber" name="L1580" href="#L1580">1580</a> <em class="jxr_javadoccomment"> * @param newPopHost The pop3 host to use.</em>
-<a class="jxr_linenumber" name="L1581" href="#L1581">1581</a> <em class="jxr_javadoccomment"> * @param newPopUsername The pop3 username.</em>
-<a class="jxr_linenumber" name="L1582" href="#L1582">1582</a> <em class="jxr_javadoccomment"> * @param newPopPassword The pop3 password.</em>
-<a class="jxr_linenumber" name="L1583" href="#L1583">1583</a> <em class="jxr_javadoccomment"> * @since 1.0</em>
-<a class="jxr_linenumber" name="L1584" href="#L1584">1584</a> <em class="jxr_javadoccomment"> */</em>
-<a class="jxr_linenumber" name="L1585" href="#L1585">1585</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setPopBeforeSmtp(
-<a class="jxr_linenumber" name="L1586" href="#L1586">1586</a> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">boolean</strong> newPopBeforeSmtp,
-<a class="jxr_linenumber" name="L1587" href="#L1587">1587</a> <strong class="jxr_keyword">final</strong> String newPopHost,
-<a class="jxr_linenumber" name="L1588" href="#L1588">1588</a> <strong class="jxr_keyword">final</strong> String newPopUsername,
-<a class="jxr_linenumber" name="L1589" href="#L1589">1589</a> <strong class="jxr_keyword">final</strong> String newPopPassword)
-<a class="jxr_linenumber" name="L1590" href="#L1590">1590</a> {
[... 723 lines stripped ...]