Commons Email 【Z】
(1)下載Commons Email
Commons Email位於Apache的Commons下。
地址是:http://commons.apache.org/email/
下載地址是:http://commons.apache.org/downloads/download_email.cgi
(2)官方簡介:
Commons Email
aims to provide a API for sending
email. It is built on top of the Java Mail API, which it aims to
simplify. Some of the mail classes that are provided are as follows:
● SimpleEmail
- This class is used to send basic text based emails
.
● MultiPartEmail
- This class is used to send multipart messages
. This allows a text message with attachments
either inline or attached.
● HtmlEmail
- This class is used to send HTML formatted emails
. It has all of the capabilities as MultiPartEmail allowing attachments to be easily added. It also supports embedded images
.
● EmailAttachment
- This is a simple container class to allow for easy handling of attachments
. It is for use with instances of MultiPartEmail and HtmlEmail.
(3)
Commons-Email 簡單教程
Commons Emails ,目的是為了簡化JavaMail。
知道有它幾個class嗎?你一定想不到,只有8個!
一:Quick Start
通過SimpleEmail傳送郵件
2 org.apache.commons.mail.Email
3 org.apache.commons.mail.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:)傳送本地附件:
2 attachment.setPath( " test/test.rar " );
3 attachment.setDisposition(EmailAttachment.ATTACHMENT);
4 attachment.setDescription( " python resource " );
5 attachment.setName( " resource " );
2:)傳送不存在本地的附件
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,新增附件到我們的郵件中
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,即可
2 email.attach(attachment2)
三:傳送html格式的郵件
通過HtmlEmail我們可以傳送Html格式的郵件:
2 org.apache.commons.mail.Email
3 org.apache.commons.mail.MultiPartEmail
4 org.apache.commons.mail.HtmlEmail
5
如下:
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 /**
14 set 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 [iocblog.net 來源]
22 // set mail
23 email.send();
24
四:最後一步
如果需要實現更復雜authenticator 你可以extends javax.mail.Authenticator
,實現你自己的東西,然後呼叫Email.setAuthenticator(javax.mail.Authenticator newAuthenticator)即可
這一點jakarta也做了,給我們提供了一個defaultAuthenticator
2 javax.mail.Authenticator
3 org.apache.commons.mail.DefaultAuthenticator
覆蓋掉該方法,實現你自己的東東 o_o
相關文章
- 使用Apache commons email傳送郵件ApacheAI
- 用 apache commons-email 輕鬆傳送無亂碼郵件ApacheAI
- Sugarcrm Email IntegrationAI
- Delphi發emailAI
- Jakarta Commons 元件元件
- commons cli 基本使用
- jquery 驗證emailjQueryAI
- 用oracle發emailOracleAI
- Put email in its placeAI
- [轉]Apache Commons工具集Apache
- HTML Email的編寫HTMLAI
- apache 傳送email demoApacheAI
- HTML Email 編寫指南HTMLAI
- Oracle stored procedure to send emailOracleAI
- Commons-Beanutils利用鏈分析Bean
- Spring Data Commons審計Spring
- Apache Commons IO入門教程Apache
- 漢化 Email 認證郵件AI
- HTML input email郵箱域HTMLAI
- HTML input email 郵箱域HTMLAI
- PostgreSQL email list:nvm wal bufferSQLAI
- Email圖示生成器AI
- 如何更改註冊的emailAI
- spring email 傳送功能SpringAI
- Ysoserial Commons-Collections利用鏈分析
- Commons Collections1分析
- Commons Collections2分析
- Apache Commons 系列簡介 之 PoolApache
- java 傳送郵件Commons MailJavaAI
- Apache Commons 工具集使用簡介Apache
- Go語言庫系列之emailGoAI
- zabbix報警指令碼(wechat,email)指令碼AI
- 使用 Webix 建立 Email 客戶端WebAI客戶端
- 簽名格式 - 職場 Email 禮儀AI
- 求救:JAVAMAIL編的EMAIL系統JavaAI
- 從outlook匯入email地址 (轉)AI
- 做email server的高手開過來,本人需要一個接收email的程式,價格面議AIServer
- 【commons-pool2原始碼】_pre JMX原始碼