走自己的路

          路漫漫其修遠兮,吾將上下而求索

            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
            50 隨筆 :: 4 文章 :: 118 評論 :: 0 Trackbacks
           

          JavaMail的基礎上構建自己的Email Channel

          基礎知識

          Email入門

          不說太多,至于什么是EmailEmail給我們帶來什么好處,也就不嘮叨了。但是先得看下Email的數據結構,因為我們需要根據領域邏輯,進行面向對象的設計。



          現在通過webmailoutlook發的郵件一般都是MIME郵件,如上圖,但不同的client也可能稍微有所不同。

          郵件是由郵件頭和郵件體組成的,每個體部分由頭域、空行、體組成。但幾個值得注意的header

          Content-Type

          每個郵件體都有個content type。說明該郵件體的類型,編碼,boundary等。包括:主類型,如MultipartTextImage;子類型:如plainhtmlalternative;參數:如charsetboundary等。

          Content-Disposition

          我們可以通過參數來辨別某個郵件體是否是附件,附件的類型,附件的名字等。

          Content-Id

          Content id是郵件體的唯一標識,可以被其他郵件體所引用。我們發的HTML郵件里常常可以引用附件中的圖片,就是通過CID引用的。

          Content-Transfer-Encoding

          轉換郵件編碼格式用于傳輸。有些傳輸協議對數據格式有所限制。

          IMAP4 POP3

          IMAP4優于 POP3

          ·         IMAP可預取email的元數據信息:header,根據header做過濾。

          ·         可以實現直接連接到服務器上進行郵件的篩選,我把它稱為select操作。

          JavaMail

          ·         Transport發郵件:SMTPTransport

          ·         Store收郵件:IMAPStore, POP3Store

          JavaMailMIME郵件設計的數據結構:



           

          參考文章:

          http://www.javaworld.com/javaworld/jw-10-2001/jw-1026-javamail.html?page=2

          http://en.wikipedia.org/wiki/MIME

          http://www.freesoft.org/CIE/RFC/1521/

          <<面向對象的郵件解析器的設計與實現>>




          posted on 2010-01-16 12:33 叱咤紅人 閱讀(1878) 評論(0)  編輯  收藏 所屬分類: JDBC JNDI JMS RMI EJB and Other J2EE Tech
          主站蜘蛛池模板: 宿迁市| 女性| 砀山县| 盐山县| 鹿泉市| 内黄县| 札达县| 长海县| 星座| 观塘区| 体育| 于田县| 儋州市| 桃源县| 庆云县| 高淳县| 古浪县| 武威市| 临沭县| 松桃| 陇西县| 乐平市| 根河市| 湖南省| 喀什市| 桦川县| 镇坪县| 阜平县| 宜黄县| 岳普湖县| 呼和浩特市| 高台县| 和田市| 邢台市| 石景山区| 伊川县| 合肥市| 绩溪县| 绥化市| 大田县| 二连浩特市|