java 发邮件 简化JavaMail Commons-Email 抄送
生活随笔
收集整理的這篇文章主要介紹了
java 发邮件 简化JavaMail Commons-Email 抄送
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一:Quick Start
通過SimpleEmail發送郵件
1 java.lang.Object
2 ??org.apache.commons.mail.Email
3 ??????org.apache.commons.mail.SimpleEmail
1 SimpleEmail?email? = ? new ?SimpleEmail();
2 email.setHostName( " mail.4ya.cn " );
3 email.setAuthentication( " <username> " , " <password> " )
4 email.addTo( " martin.xus@gmail.com " ,? " martin " );
5 email.setFrom( " martin@4ya.cn " ,? " martin " );
6 email.setSubject( " 測試主題 " );
7 email.setMsg( " 這里是郵件內容 " );
8 email.send();
就如代碼里字面上的意思一樣簡單:
1:創建以SimpleEmail對象
2:設定發送信件的smtp服務器,如果沒有設定,會尋找系統變量中mail.host值。
3:設定smtp的用戶和密碼
4:收件人
5:發件人
6:主題
7:內容
8:發送
二:發送帶附件的郵件
我們可以發送本機的附件,當然我們也可以發送非本機的附件,如果發送的是一個存在網絡上的附件的url,則郵件發送的時候會自動下載,添加到附件中。
?? 1:)發送本地附件:
1 EmailAttachment?attachment? = ? new ?EmailAttachment();
2 attachment.setPath( " test/test.rar " );
3 attachment.setDisposition(EmailAttachment.ATTACHMENT);
4 attachment.setDescription( " python?resource " );
5 attachment.setName( " resource " );
?? 2:)發送不存在本地的附件
1 EmailAttachment?attachment? = ? new ?EmailAttachment();
2 attachment.setURL( new ?URL( " http://www.smilinglibrary.org/sldoc/pics/index03.jpg " ));
3 attachment.setDisposition(EmailAttachment.ATTACHMENT);
4 attachment.setDescription( " 微笑圖書館 " );
5 attachment.setName( " 微笑圖書館 " );
next,添加附件到我們的郵件中
?1 MultiPartEmail?email? = ? new ?MultiPartEmail();
?2 email.setHostName( " mail.4ya.cn " );
?3??? email.setAuthentication("<username>","<password>")
?4 email.addTo( " martin.xus@gmail.com " ,? " martin " );
?5 email.setFrom( " martin@4ya.cn " ,? " martin " );
?6 email.setSubject( " 郵件主題 " );
?7 email.setMsg( " 郵件內容 " );
?8 // 添加附件
?9 email.attach(attachment);
10
11 // 發送郵件
12 email.send();
如果需要發送多個附件,只需創建多個EmailAttachement,即可
1 email.attach(attachment1)
2 email.attach(attachment2)
三:發送html格式的郵件
通過HtmlEmail我們可以發送Html格式的郵件:
1 java.lang.Object
2 ??org.apache.commons.mail.Email
3 ??????org.apache.commons.mail.MultiPartEmail
4 ??????????org.apache.commons.mail.HtmlEmail
5
如下:
?1 // HtmlEmail!
?2 HtmlEmail?email? = ? new ?HtmlEmail();
?3 email.setHostName( " mail.4ya.cn " );
?3???email.setAuthentication("<username>","<password>")
?5 email.addTo("martin@4ya.cn " martin " );
?6 email.setFrom("martin.xus@gmail.com " martin " );
?7 email.setSubject( "主題:該郵件包括html格式內容 " );
?
?8 // ?embed?the?image?and?get?the?content?id
?9 // ?注意這里:embed?將幫助我們創建標簽如:cid:xxx?url
10 URL?url? = ? new ?URL( " http://www.apache.org/images/asf_logo_wide.gif " );
11 String?cid? = ?email.embed(url,? " Apache?logo " );
12
13 /**?*/ /**
14set?the?html?message
15我們看到HtmlEmail?extends?Email的,它依然有setMsg(),但是這里發送的郵件包括了插入在郵件內容中的圖片,所以不能在使用了setMsg(),而要以setHtmlMsg?或setTextMsg代碼
16**/
17 email.setHtmlMsg( " <html>The?apache?logo?-?<img?src=\ " cid: " +cid+ " \ " ></html> " );
18
19 // ?set?the?alternative?message
20 email.setTextMsg( " Your?email?client?does?not?support?HTML?messages " );
21
22 // set?mail
23 email.send();
24
四:最后一步
如果需要實現更復雜authenticator 你可以extends javax.mail.Authenticator ,實現你自己的東西,然后調用 Email.setAuthenticator(javax.mail.Authenticator?newAuthenticator)即可
這一點jakarta也做了,給我們提供了一個defaultAuthenticator
1 java.lang.Object
2 ??javax.mail.Authenticator
3 ??????org.apache.commons.mail.DefaultAuthenticator
覆蓋掉該方法,實現你自己的東東 o_o
1 protected ?javax.mail.PasswordAuthentication?getPasswordAuthentication()
通過SimpleEmail發送郵件
1 java.lang.Object
2 ??org.apache.commons.mail.Email
3 ??????org.apache.commons.mail.SimpleEmail
1 SimpleEmail?email? = ? new ?SimpleEmail();
2 email.setHostName( " mail.4ya.cn " );
3 email.setAuthentication( " <username> " , " <password> " )
4 email.addTo( " martin.xus@gmail.com " ,? " martin " );
5 email.setFrom( " martin@4ya.cn " ,? " martin " );
6 email.setSubject( " 測試主題 " );
7 email.setMsg( " 這里是郵件內容 " );
8 email.send();
就如代碼里字面上的意思一樣簡單:
1:創建以SimpleEmail對象
2:設定發送信件的smtp服務器,如果沒有設定,會尋找系統變量中mail.host值。
3:設定smtp的用戶和密碼
4:收件人
5:發件人
6:主題
7:內容
8:發送
二:發送帶附件的郵件
我們可以發送本機的附件,當然我們也可以發送非本機的附件,如果發送的是一個存在網絡上的附件的url,則郵件發送的時候會自動下載,添加到附件中。
?? 1:)發送本地附件:
1 EmailAttachment?attachment? = ? new ?EmailAttachment();
2 attachment.setPath( " test/test.rar " );
3 attachment.setDisposition(EmailAttachment.ATTACHMENT);
4 attachment.setDescription( " python?resource " );
5 attachment.setName( " resource " );
?? 2:)發送不存在本地的附件
1 EmailAttachment?attachment? = ? new ?EmailAttachment();
2 attachment.setURL( new ?URL( " http://www.smilinglibrary.org/sldoc/pics/index03.jpg " ));
3 attachment.setDisposition(EmailAttachment.ATTACHMENT);
4 attachment.setDescription( " 微笑圖書館 " );
5 attachment.setName( " 微笑圖書館 " );
next,添加附件到我們的郵件中
?1 MultiPartEmail?email? = ? new ?MultiPartEmail();
?2 email.setHostName( " mail.4ya.cn " );
?3??? email.setAuthentication("<username>","<password>")
?4 email.addTo( " martin.xus@gmail.com " ,? " martin " );
?5 email.setFrom( " martin@4ya.cn " ,? " martin " );
?6 email.setSubject( " 郵件主題 " );
?7 email.setMsg( " 郵件內容 " );
?8 // 添加附件
?9 email.attach(attachment);
10
11 // 發送郵件
12 email.send();
如果需要發送多個附件,只需創建多個EmailAttachement,即可
1 email.attach(attachment1)
2 email.attach(attachment2)
三:發送html格式的郵件
通過HtmlEmail我們可以發送Html格式的郵件:
1 java.lang.Object
2 ??org.apache.commons.mail.Email
3 ??????org.apache.commons.mail.MultiPartEmail
4 ??????????org.apache.commons.mail.HtmlEmail
5
如下:
?1 // HtmlEmail!
?2 HtmlEmail?email? = ? new ?HtmlEmail();
?3 email.setHostName( " mail.4ya.cn " );
?3???email.setAuthentication("<username>","<password>")
?5 email.addTo("martin@4ya.cn " martin " );
?6 email.setFrom("martin.xus@gmail.com " martin " );
?7 email.setSubject( "主題:該郵件包括html格式內容 " );
?
?8 // ?embed?the?image?and?get?the?content?id
?9 // ?注意這里:embed?將幫助我們創建標簽如:cid:xxx?url
10 URL?url? = ? new ?URL( " http://www.apache.org/images/asf_logo_wide.gif " );
11 String?cid? = ?email.embed(url,? " Apache?logo " );
12
13 /**?*/ /**
14set?the?html?message
15我們看到HtmlEmail?extends?Email的,它依然有setMsg(),但是這里發送的郵件包括了插入在郵件內容中的圖片,所以不能在使用了setMsg(),而要以setHtmlMsg?或setTextMsg代碼
16**/
17 email.setHtmlMsg( " <html>The?apache?logo?-?<img?src=\ " cid: " +cid+ " \ " ></html> " );
18
19 // ?set?the?alternative?message
20 email.setTextMsg( " Your?email?client?does?not?support?HTML?messages " );
21
22 // set?mail
23 email.send();
24
四:最后一步
如果需要實現更復雜authenticator 你可以extends javax.mail.Authenticator ,實現你自己的東西,然后調用 Email.setAuthenticator(javax.mail.Authenticator?newAuthenticator)即可
這一點jakarta也做了,給我們提供了一個defaultAuthenticator
1 java.lang.Object
2 ??javax.mail.Authenticator
3 ??????org.apache.commons.mail.DefaultAuthenticator
覆蓋掉該方法,實現你自己的東東 o_o
1 protected ?javax.mail.PasswordAuthentication?getPasswordAuthentication()
?
轉自:http://www.blogjava.net/martinx/archive/2005/09/29/14386.html
?
--------------------------------------------------------------------------------------------------------------------
?
addCc(“10792402@qq.com”):添加抄送人地址
addBcc(“10792402@qq.com”):添加密送人地址
addReplyTo(“10792402@qq.com”):添加回復人地址
總結
以上是生活随笔為你收集整理的java 发邮件 简化JavaMail Commons-Email 抄送的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python如何实现飞机上下移动_pyt
- 下一篇: 为什么很多的企业留不住人才呢?