少年阿賓

          那些青春的歲月

            BlogJava :: 首頁(yè) :: 聯(lián)系 :: 聚合  :: 管理
            500 Posts :: 0 Stories :: 135 Comments :: 0 Trackbacks

          常用鏈接

          留言簿(22)

          我參與的團(tuán)隊(duì)

          搜索

          •  

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          //實(shí)體類:
          /**
           * 發(fā)送郵件的基本信息
           * @author dell
           *
           */
          public class MailInfo implements java.io.Serializable{

              private String host;//發(fā)送郵件的主機(jī)號(hào)
              private String port;//發(fā)送郵件的端口號(hào)
              private String fromAddress;//發(fā)送郵件地址
              private String toAddress;//接收郵件地址
              private String username;//發(fā)送郵件用戶的用戶名
              private String password;//發(fā)送郵件用戶的密碼
              private String validate;//是否需要身份的驗(yàn)證:ture認(rèn)證,false不認(rèn)證信息
              private String subject;//郵件主題
              private String content;//郵件的內(nèi)容,分為文本,超文本,html等形式
              private String[] filepath;//發(fā)送郵件的附件的位置
              private String[] sendAddress;
              private String filename;//發(fā)送郵件的附件顯示的名稱
              private String receivepath;//接收郵件的時(shí)候附件保存的路徑
              private java.util.Date sentdate;
              private float filesize;
              private java.util.Date receivedate;
              private String mailauthor;//郵件作者
              private boolean read;//是否讀過(guò),true讀過(guò),false沒(méi)有閱讀過(guò)
              private boolean ExistsFile;//是否有附件true有,false沒(méi)有
              private boolean replysign;//是否有回執(zhí)
              private String messageid;//消息ID
              private int mailnumber;//郵件數(shù)目,一個(gè)用戶的總郵件數(shù)
              
              
              public String[] getSendAddress() {
                  return sendAddress;
              }
              public void setSendAddress(String[] sendAddress) {
                  this.sendAddress = sendAddress;
              }
              public int getMailnumber() {
                  return mailnumber;
              }
              public void setMailnumber(int mailnumber) {
                  this.mailnumber = mailnumber;
              }
              public String getMessageid() {
                  return messageid;
              }
              public void setMessageid(String messageid) {
                  this.messageid = messageid;
              }
              public boolean isExistsFile() {
                  return ExistsFile;
              }
              public boolean isRead() {
                  return read;
              }
              public void setExistsFile(boolean existsFile) {
                  ExistsFile = existsFile;
              }
              public void setRead(boolean read) {
                  this.read = read;
              }
              public boolean isReplysign() {
                  return replysign;
              }
              public void setReplysign(boolean replysign) {
                  this.replysign = replysign;
              }
              public String getMailauthor() {
                  return mailauthor;
              }
              public void setMailauthor(String mailauthor) {
                  this.mailauthor = mailauthor;
              }
              public java.util.Date getReceivedate() {
                  return receivedate;
              }
              public void setReceivedate(java.util.Date receivedate) {
                  this.receivedate = receivedate;
              }

              public java.util.Date getSentdate() {
                  return sentdate;
              }
              public void setSentdate(java.util.Date sentdate) {
                  this.sentdate = sentdate;
              }
              
              public String[] getFilepath() {
                  return filepath;
              }
              public void setFilepath(String[] filepath) {
                  this.filepath = filepath;
              }
              public String getContent() {
                  return content;
              }
              public String getFilename() {
                  return filename;
              }
              public String getFromAddress() {
                  return fromAddress;
              }
              public String getHost() {
                  return host;
              }
              public String getPassword() {
                  return password;
              }
              public String getPort() {
                  return port;
              }
              public String getSubject() {
                  return subject;
              }
              public String getToAddress() {
                  return toAddress;
              }
              public String getUsername() {
                  return username;
              }
              public void setContent(String content) {
                  this.content = content;
              }
              public void setFilename(String filename) {
                  this.filename = filename;
              }
              public void setFromAddress(String fromAddress) {
                  this.fromAddress = fromAddress;
              }
              public void setHost(String host) {
                  this.host = host;
              }
              public void setPassword(String password) {
                  this.password = password;
              }
              public void setPort(String port) {
                  this.port = port;
              }
              public void setSubject(String subject) {
                  this.subject = subject;
              }
              public void setToAddress(String toAddress) {
                  this.toAddress = toAddress;
              }
              public void setUsername(String username) {
                  this.username = username;
              }
              public String getValidate() {
                  return validate;
              }
              public void setValidate(String validate) {
                  this.validate = validate;
              }
              public String getReceivepath() {
                  return receivepath;
              }
              public void setReceivepath(String receivepath) {
                  this.receivepath = receivepath;
              }
          }




          //發(fā)送郵件程序

          import java.util.Properties;

          import javax.activation.DataHandler;
          import javax.activation.DataSource;
          import javax.activation.FileDataSource;
          import javax.mail.BodyPart;
          import javax.mail.Message;
          import javax.mail.Multipart;
          import javax.mail.Session;
          import javax.mail.Transport;
          import javax.mail.internet.InternetAddress;
          import javax.mail.internet.MimeBodyPart;
          import javax.mail.internet.MimeMessage;
          import javax.mail.internet.MimeMultipart;
          import javax.mail.internet.MimeUtility;

          public class SendMail {
              
              public boolean Send(MailInfo mailInfo)throws Exception{
                  Properties props=new Properties();
                  //設(shè)置發(fā)送郵件的郵件服務(wù)器的屬性(這里使用網(wǎng)易的smtp服務(wù)器)
                  props.put("mail.smtp.host", mailInfo.getHost());
                  //需要經(jīng)過(guò)授權(quán),也就是有戶名和密碼的校驗(yàn),這樣才能通過(guò)驗(yàn)證(一定要有這一條)
                  props.put("mail.smtp.auth", mailInfo.getValidate());
                  Session session=Session.getDefaultInstance(props);// 用剛剛設(shè)置好的props對(duì)象構(gòu)建一個(gè)session
          //        session.setDebug(true);
                  MimeMessage message=new MimeMessage(session);
                  try{
                      message.setFrom(new InternetAddress(mailInfo.getFromAddress()));
                      InternetAddress[] sendTo = new InternetAddress[mailInfo.getSendAddress().length];
                      for(int i=0;i<mailInfo.getSendAddress().length;i++){
                          sendTo[i]=new InternetAddress(mailInfo.getSendAddress()[i]);
                      }
          //            message.addRecipient(Message.RecipientType.TO, new InternetAddress(mailInfo.getToAddress()));
                      message.setRecipients(Message.RecipientType.TO, sendTo);
                      message.setSubject(mailInfo.getSubject());
                      message.setSentDate(mailInfo.getSentdate());
                      //向multipart對(duì)象中添加郵件的各個(gè)部分內(nèi)容,包括文本內(nèi)容和附件
                      Multipart multipart=new MimeMultipart();
                      BodyPart contentPart=new MimeBodyPart();
                      contentPart.setText(mailInfo.getContent());
                      multipart.addBodyPart(contentPart);
                      //添加附件
                      for(int i=0;i<mailInfo.getFilepath().length;i++){
                          BodyPart messageBodyPart=new MimeBodyPart();
                          String fpath=mailInfo.getFilepath()[i].split(",")[0];
                          DataSource source=new FileDataSource(fpath);
                          messageBodyPart.setDataHandler(new DataHandler(source));
                          sun.misc.BASE64Encoder enc=new sun.misc.BASE64Encoder();
                          String lname=fpath.substring(fpath.lastIndexOf("."), fpath.length());
                          String fname=String.valueOf(System.currentTimeMillis())+lname;
                          messageBodyPart.setFileName("=?GBK?B?"+enc.encode(fname.getBytes())+"?=");
                          multipart.addBodyPart(messageBodyPart);
                      }
                      
                      
                      message.setContent(multipart);//text/plain表示純文本內(nèi)容
                      message.saveChanges();
                      Transport transport=session.getTransport("smtp");
                      transport.connect(mailInfo.getHost(),mailInfo.getUsername(),mailInfo.getPassword());
                      transport.sendMessage(message,message.getAllRecipients());
                      transport.close();
                      return true;
                  }catch(Exception e){
                      e.printStackTrace();
                  }
                  
                  return false;
              }
          }





          //測(cè)試代碼:

          import org.junit.After;
          import org.junit.Before;
          import org.junit.Test;

          public class SendTest {
              @Test
              public void mailTest(){
                  SendMail mail=new SendMail();
                  MailInfo mailInfo=new MailInfo();
                  mailInfo.setContent("郵件內(nèi)容44444444444444444444");
                  String[] filepath=new String[]{"D:\\1317742305879.csv","D:\\zpssoa.log","E:\\Emotion\\Photo\\好寂寞好空虛.gif"};
                  mailInfo.setFilepath(filepath);
          //        mailInfo.setFilename("希望"+fname);
                  mailInfo.setFromAddress("leeposter@126.com");
                  mailInfo.setHost("smtp.126.com");
                  mailInfo.setSubject("郵件主題444444444444444444444");
          //        mailInfo.setToAddress("liposter@163.com");
                  String[] destination=new String[]{"liposter@163.com","lposter@163.com","liposter@126.com"};
                  mailInfo.setSendAddress(destination);
                  mailInfo.setUsername("leeposter");
                  mailInfo.setValidate("true");
                  mailInfo.setPassword("****");
                  try{
                      boolean flag=mail.Send(mailInfo);
                      if(flag==true){
                          System.out.println("發(fā)送成功");
                      }else{
                          System.out.println("發(fā)送失敗");
                      }
                  }catch(Exception e){
                      e.printStackTrace();
                  }
              }
          }
          posted on 2011-10-18 23:28 abin 閱讀(1390) 評(píng)論(0)  編輯  收藏

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


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 闻喜县| 兴城市| 张家口市| 武宁县| 自治县| 仙居县| 尉犁县| 易门县| 克什克腾旗| 安平县| 瑞昌市| 海伦市| 徐汇区| 盐山县| 阜康市| 禹城市| 张家界市| 咸阳市| 邢台县| 沙坪坝区| 鹤壁市| 侯马市| 什邡市| 磐安县| 阿坝| 潍坊市| 新巴尔虎左旗| 锡林浩特市| 宁强县| 平泉县| 石城县| 东乡族自治县| 犍为县| 房产| 汤原县| 仙桃市| 亳州市| 酒泉市| 搜索| 苗栗县| 广灵县|