羅比特

          學(xué)習(xí)筆記

            BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
            2 隨筆 :: 3 文章 :: 0 評論 :: 0 Trackbacks
          <2008年7月>
          293012345
          6789101112
          13141516171819
          20212223242526
          272829303112
          3456789

          常用鏈接

          留言簿(1)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          這里先介紹用Java Mail 類實(shí)現(xiàn)發(fā)送郵件,然后再介紹Commons Email組件實(shí)現(xiàn)發(fā)送簡單郵件和帶附件的郵件

          首先到官網(wǎng)上下載 Java Mail 1.4.1
          http://java.sun.com/products/javamail/index.html
          添加mail.jar到用戶庫中, 然后構(gòu)建郵件并發(fā)送
          impoet javax.mail.*;
          Properties props
          =new Properties();
          Session session
          =Session.getInstance(props,null);
          props.put(
          "mail.host","127.0.0.1");
          props.put(
          "mail.transport.protocol","smtp");
          Message message
          =new MimeMessage(session);
          //message構(gòu)建郵件內(nèi)容,因?yàn)镸essage是抽象類,所以這里用它的子類MimeMessage
          message.setForm(new InternetAddress("abc@163.com"));
          message.setRecipient(Message.RecipientType.To,
          new InternetAddress("123@163.com"));
          message.setSubject(
          "Hello");
          message.setText(
          "I love java");
          Transport.send(message);

          Commons Email組件很好的封裝了Java Mail 類,用起來更加方便,功能更強(qiáng)大
          下載該組件,把commons-email-1.1.jar 加載到該應(yīng)用中
          用Servlet處理發(fā)郵件,在doPost()方法中添加如下代碼:
          request.setCharacterEnconding("UTF-8");
          SimpleEmail email
          =new SimpleEmail();
          email.setHostName(
          "smtp.sina.com");
          email.setAuthentication(
          "username","password");
          //這里設(shè)定一下郵件內(nèi)容編碼格式
          email.setCharset("UTF-8");
          //request.getParameter()從提交的表單中獲取信息
          email.setFrom(request.getParameter("from"));
          email.addTo(request.getParameter(
          "to"));
          email.setSubjet(request.getPatameter(
          "subject"));
          email.setMsg(request.getParameter(
          "content"));
          email.send();

          下面介紹帶附件的郵件如何編寫,實(shí)際上就是把上述兩部分結(jié)合。
          首先,表單里要有"file"域,在表單標(biāo)簽里添加 <Form enctype="multipart/form-data">
          寫一個(gè)方法getFile(),返回file類型,具體的內(nèi)容請參加File Upload 那篇文章,先把文件存在web server的一個(gè)目錄上,然后再發(fā)送
          所不同的是,這次,構(gòu)建一個(gè)MultiPartEmail email=new MultiPartEmail();
          然后按上述代碼添加好主題,內(nèi)容等,需要注意的是,在getFile()中獲取文件的時(shí)候,已經(jīng)獲取了表單域的信息,把這些信息存在一個(gè)HashMap中,然后通過email對象的方法添加這些信息時(shí),直接從HashMap中獲得即可
          通過getFile()獲得文件,然后
          if(file!=null)
          {
            EmailAttachment att
          =new EmailAttachment();
            att.setPath(file.getPath());
            att.setDisposition(EmailAttachment.ATTACHMENT);
          //這里是附件的類型
           att.setName(file.getName());
            email.addattach(att);
          }

          posted on 2008-07-20 05:06 羅比特 閱讀(178) 評論(0)  編輯  收藏 所屬分類: JSP

          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導(dǎo)航:
          相關(guān)文章:
           
          主站蜘蛛池模板: 怀集县| 习水县| 湖北省| 渭源县| 志丹县| 镇宁| 长垣县| 商水县| 邮箱| 阳春市| 长乐市| 清丰县| 温泉县| 高阳县| 稷山县| 启东市| 晋州市| 凤台县| 吴江市| 柳林县| 博客| 九龙县| 于都县| 新建县| 桃园县| 八宿县| 汕头市| 辉南县| 桐庐县| 固安县| 江安县| 喀喇沁旗| 双桥区| 论坛| 玉林市| 临武县| 迭部县| 灌南县| 盘山县| 屏南县| 开封县|