溫馨提示:您的每一次轉載,體現了我寫此文的意義!!!煩請您在轉載時注明出處http://www.aygfsteel.com/sxyx2008/謝謝合作!!!

          雪山飛鵠

          溫馨提示:您的每一次轉載,體現了我寫此文的意義!!!煩請您在轉載時注明出處http://www.aygfsteel.com/sxyx2008/謝謝合作!!!

          BlogJava 首頁 新隨筆 聯系 聚合 管理
            215 Posts :: 1 Stories :: 674 Comments :: 0 Trackbacks

           

          package com.fengjing.javamail;

          import java.util.Date;
          import java.util.Properties;

          import javax.activation.DataHandler;
          import javax.activation.FileDataSource;
          import javax.mail.Address;
          import javax.mail.Message;
          import javax.mail.Multipart;
          import javax.mail.Session;
          import javax.mail.Transport;
          import javax.mail.Message.RecipientType;
          import javax.mail.internet.InternetAddress;
          import javax.mail.internet.MimeBodyPart;
          import javax.mail.internet.MimeMessage;
          import javax.mail.internet.MimeMultipart;

          import sun.misc.BASE64Encoder;

          public class SendMail {

           
          public static void main(String[] args) throws Exception{

            Properties props
          =new Properties();
            
          //設置采用郵箱認證
            props.setProperty("mail.smtp.auth""true");
            
          //獲得session
            Session session=Session.getInstance(props);
            
          //設置調試信息
            session.setDebug(true);
            
          //創建message
            Message message=new MimeMessage(session);
            
            
          //對message做些配置
            
          //郵件主題
            message.setSubject("這是用javamail寫得帶附件的郵件");
            
          //郵件發送人
            message.setFrom(new InternetAddress("*****@163.com"));
            
          //發送時間
            message.setSentDate(new Date());
            
          //設置收件人
            /**
             * RecipientType.TO 指定郵件發送類型
             * RecipientType.TO 直接發送
             * RecipientType.CC 抄送
             * RecipientType.BCC 暗送
             * new Address[]{} 郵件接收人列表
             
          */
            message.addRecipients(RecipientType.TO, 
          new Address[]{
              
          new InternetAddress("*******@sohu.com")
            });
            
            
          //使用message中的setText()方法發送文本文件
            
          //message.setText("郵件正文");
            /**
             * "<span style='color:red'>這是用javamail發送的郵件正文</span>" 郵件內容
             * "text/html;charset=utf-8" 指定編碼
             
          */
            
          //message.setContent("<span style='color:red'>這是用javamail發送的郵件正文</span>", "text/html;charset=utf-8");
            
            
          /**********創建帶附件的郵件********************/
            
            
          //創建Multipart對象,最后將Multipart對象添加到message中
            Multipart multipart=new MimeMultipart();
            
          //創建MimeBodyPart對象
            MimeBodyPart mimeBodyPart=new MimeBodyPart();
            
          //設置附件內容
            FileDataSource fds=new FileDataSource("d:\\5.jpg");
            
          //設置附件的名字
            
            
          /********************處理附件中文名亂碼***************************/
           
            sun.misc.BASE64Encoder enc 
          = new sun.misc.BASE64Encoder(); 
            
          //System.out.println(enc.encode("徐熙媛.jpg".getBytes()));
            mimeBodyPart.setFileName("=?GB2312?B?"+enc.encode("徐熙媛.jpg".getBytes())+"?=");
           
            
          //處理附件
            mimeBodyPart.setDataHandler(new DataHandler(fds));
            
            multipart.addBodyPart(mimeBodyPart);
            
            
          /********設置郵件正文內容********/
            
            
          //新創建MimeBodyPart對象,否則正文將會覆蓋掉附件內容
            mimeBodyPart=new MimeBodyPart();
            
          //設置郵件正文內容
            mimeBodyPart.setContent("<span style='color:red'>這是用javamail發送的郵件正文</span>""text/html;charset=utf-8");
            
          //將MimeBodyPart添加到Multipart中
            multipart.addBodyPart(mimeBodyPart);
           
            
          //將multipart添加到message中
            message.setContent(multipart);

            
          //創建傳輸對象
            Transport transport=session.getTransport("smtp");
            
          //配置連接信息
            /**
             * smtp.sohu.com 指定主機
             * 25 端口號
             * sxyx 用戶名
             * ******** 密碼
             
          */
            transport.connect(
          "smtp.sohu.com"25"sxyx""*******");
            
          //發送消息
            /**
             * message 消息內容
             * message.getAllRecipients() 收件人地址  
             * 返回
             * message.addRecipients()方法中指定的郵件接收人列表
             
          */
            transport.sendMessage(message, message.getAllRecipients());
            transport.close();
           }

          }

          文中提到的base64編碼其實可以替換為cos.jar(既歐萊里公司提供的文件上傳包)
          posted on 2009-11-05 15:15 雪山飛鵠 閱讀(795) 評論(0)  編輯  收藏 所屬分類: javase
          主站蜘蛛池模板: 岢岚县| 长汀县| 永兴县| 始兴县| 松原市| 阿克苏市| 渭南市| 波密县| 齐齐哈尔市| 连平县| 晴隆县| 裕民县| 扎赉特旗| 宜良县| 旅游| 洪泽县| 榕江县| 巧家县| 应城市| 油尖旺区| 临西县| 瓦房店市| 汤原县| 吉安市| 丹阳市| 孟村| 富宁县| 南木林县| 松原市| 阿克苏市| 平利县| 鄢陵县| 仪征市| 拉萨市| 临湘市| 江西省| 讷河市| 浦县| 正镶白旗| 海盐县| 当涂县|