隨筆-124  評論-49  文章-56  trackbacks-0

          JavaMail下載與安裝
          http://java.sun.com/products/javamail/index.html
          核心類與接口
          javax.mail.Session
          javax.mail.Message
          javax.mail.Address
          javax.mail.Authenticator
          javax.mail.Transport
          javax.mail.Store
          javax.mail.Folder
          -----------------------------------------------------
          1 加載javamail的jar包
          2 編寫處理類
          public class SendMail {
           public static void mian(String[] args){
            Properties props=new Properties();
            Session session=Session.getInstance(props,null);
            props.put("mail.host", "127.0.0.1");//接收郵件的地址
            props.put("mail.transport.protocol", "smtp");//傳輸郵件的協(xié)議
            
            Message message=new MimeMessage(session);
            try {
             message.setFrom(new InternetAddress("ywj_sh110@163.com"));//設(shè)定發(fā)件人
             message.setRecipient(Message.RecipientType.TO, new InternetAddress("ywj_316@163.com"));//設(shè)定收件人
             message.setSubject("你好嗎?");//設(shè)標(biāo)題
             message.setText("javamail發(fā)送郵件測試");//設(shè)內(nèi)容
             Transport.send(message);//發(fā)送信息
            } catch (AddressException e) {
             // TODO Auto-generated catch block
             e.printStackTrace();
            } catch (MessagingException e) {
             // TODO Auto-generated catch block
             e.printStackTrace();
            }
           }
          }
          ---------------------------------------------------
          Apache Commons Email組件
          1 加載javamail的jar包和Apache Commons Email的jar包
          2 編寫servlet的處理類
          public class SendCommMail extends HttpServlet {
           public void doGet(HttpServletRequest request, HttpServletResponse response)
             throws ServletException, IOException {
            doPost(request,response);
           }
          public void doPost(HttpServletRequest request, HttpServletResponse response)
             throws ServletException, IOException {
            request.setCharacterEncoding("UTF-8");
            SimpleEmail email=new SimpleEmail();//生成SimpleEmail對象
            email.setHostName("smtp.sina.com");//生成郵件
            email.setAuthentication("web08", "web2008");//建立用戶
            email.setCharset("UTF-8");//郵件內(nèi)容編碼
            try {
             email.setFrom(request.getParameter("from"));//發(fā)件人
             email.addTo(request.getParameter("to"));//收件人
             email.setMsg(request.getParameter("context"));//內(nèi)容
             email.send();//發(fā)送郵件
             request.setAttribute("sendmail.message", "郵件發(fā)送成功!");
            } catch (Exception e) {
             e.printStackTrace();
             request.setAttribute("sendmail.message", "郵件發(fā)送不成功!");
            }
            request.getRequestDispatcher("/sendResult.jsp").forward(request, response);
           }
          }
          3 配置web.xml文件
          4 頁面
          ----------------------------------------------------------------------
          帶附件的郵件
          1 1 加載javamail的jar包,Apache Commons Email的jar包和fileUpLoad
          2 2 編寫servlet的處理類
          public class SendCommMail extends HttpServlet {
           private ServletContext sc;//ServletContext定義了一系列方法用于與相應(yīng)的servlet容器通信
           private String savePath;
           File file;
           private Map<String,String> parameters=new HashMap<String,String>();//存頁面信息

           public void doGet(HttpServletRequest request, HttpServletResponse response)
             throws ServletException, IOException {
            doPost(request,response);
           }

           public void doPost(HttpServletRequest request, HttpServletResponse response)
             throws ServletException, IOException {
            request.setCharacterEncoding("UTF-8");
            file=this.doAtta(request);
            MultiPartEmail email=new MultiPartEmail();//生成SimpleEmail對象
            email.setHostName("smtp.163.com");//生成郵件
            email.setAuthentication("ywj_316", "1234567890");//建立用戶
            email.setCharset("UTF-8");//郵件內(nèi)容編碼
            try {
             email.setFrom(parameters.get("from"));//發(fā)件人
             email.addTo(parameters.get("to"));//收件人
             email.setMsg(parameters.get("context"));//內(nèi)容 
             email.setSubject(parameters.get("title"));//主題
             if(file!=null){
              EmailAttachment attachment=new EmailAttachment();//附什對象
              attachment.setPath(file.getParent());//附件路徑
              attachment.setDescription(EmailAttachment.ATTACHMENT);//附件類型
              attachment.setName(file.getName());//附件名稱
              email.attach(attachment);
             }
             System.out.println("ssssssssssssssssssssssssssssssssssss");
             email.send();//發(fā)送郵件
             request.setAttribute("sendmail.message", "郵件發(fā)送成功!");
            } catch (Exception e) {
             e.printStackTrace();
             request.setAttribute("sendmail.message", "郵件發(fā)送不成功!");
            }
            request.getRequestDispatcher("/sendResult.jsp").forward(request, response);
           }
           
           public File doAtta(HttpServletRequest request)throws ServletException,IOException{
            DiskFileItemFactory factory = new DiskFileItemFactory();
            ServletFileUpload upload = new ServletFileUpload(factory);
            try {
             List items = upload.parseRequest(request);
             for (int i = 0; i < items.size(); i++) {
              FileItem item = (FileItem) items.get(i);
              if (item.isFormField()) {
               parameters.put(item.getFieldName(), item.getString("UTF-8"));
               System.out.println(item.getFieldName());
               System.out.println(item.getString("UTF-8"));
              } else {
               if (item.getName() != null && !item.getName().equals("")) {
                File temFile = new File(item.getName());
                file = new File(sc.getRealPath("/") + savePath,
                  temFile.getName());
                item.write(file);

                request.setAttribute("upload.message", "上傳文件成功!");
               } else {
                request.setAttribute("upload.message", "沒有上傳文件成功!");
               }
              }
             }
            } catch (Exception e) {
             e.printStackTrace();
             request.setAttribute("upload.message", "沒有上傳文件成功!");
            }
            return file;
           }
           
           public void init(ServletConfig config) throws ServletException {
            savePath = config.getInitParameter("savePath");//得到初始化信息
            sc = config.getServletContext();//得到ServletContext接口的實例
           }
          }
          3 配置web.xml文件
           <servlet>
              <servlet-name>SendCommMail</servlet-name>
              <servlet-class>com.webs.SendCommMail</servlet-class>
                <init-param>
              <param-name>savePath</param-name>
              <param-value>uploads</param-value>
              </init-param>
            </servlet>
            <servlet-mapping>
              <servlet-name>SendCommMail</servlet-name>
              <url-pattern>/servlet/sendMail</url-pattern>
            </servlet-mapping>
          4 頁面
           <body>
              發(fā)送郵件的程序<br>
              <form action="servlet/sendMail" name="form1"  enctype="multipart/form-data" method="post">
               收件人:<input type="text" name="to"/><br>
              發(fā)件人:<input type="text" name="from"/><br>
              主題:<input type="text" name="title"/><br>
              附件:<input type="file" name="file"/><br>
              內(nèi)容:<input type="text" name="context"/><br>
              <input type="submit"/>
              </form>
            </body>

          posted on 2009-11-29 21:33 junly 閱讀(368) 評論(0)  編輯  收藏 所屬分類: java
          主站蜘蛛池模板: 磐安县| 都江堰市| 华池县| 女性| 沽源县| 隆安县| 宝应县| 滕州市| 广南县| 孟津县| 吉隆县| 沁水县| 达拉特旗| 游戏| 海淀区| 城步| 保山市| 和田县| 司法| 湘潭县| 当阳市| 宁德市| 微山县| 鄂伦春自治旗| 繁昌县| 绵阳市| 新干县| 桃园市| 太康县| 教育| 宜宾市| 阿拉尔市| 大足县| 多伦县| 江安县| 钟山县| 乌恰县| 东台市| 竹溪县| 赤壁市| 宜昌市|