1. 程式人生 > >JavaMail傳送郵件(帶附件)

JavaMail傳送郵件(帶附件)

import javax.mail.*;
import javax.mail.internet.*;
import java.util.*;
import javax.activation.*;
public class SendMail2 {
  
 private String host = "";  //smtp伺服器
 private String from = "";  //發件人地址
 private String to = "";    //收件人地址
 private String affix = ""; //附件地址
 private String affixName = ""; //附件名稱
 private String user = "";  //使用者名稱
 private String pwd = "";   //密碼
 private String subject = ""; //郵件標題
 
 public void setAddress(String from,String to,String subject){
  this.from = from;
  this.to   = to;
  this.subject = subject;
 }
 
 public void setAffix(String affix,String affixName){
  this.affix = affix;
  this.affixName = affixName;
 }
 
    public void send(String host,String user,String pwd) {
     this.host = host;
  this.user = user;
  this.pwd  = pwd;
      
        Properties props = new Properties();
      
        //設定傳送郵件的郵件伺服器的屬性(這裡使用網易的smtp伺服器)
        props.put("mail.smtp.host", host);
        //需要經過授權,也就是有戶名和密碼的校驗,這樣才能通過驗證(一定要有這一條)
        props.put("mail.smtp.auth", "true");
      
        //用剛剛設定好的props物件構建一個session
        Session session = Session.getDefaultInstance(props);
      
        //有了這句便可以在傳送郵件的過程中在console處顯示過程資訊,供除錯使
        //用(你可以在控制檯(console)上看到傳送郵件的過程)
        session.setDebug(true);
      
        //用session為引數定義訊息物件
        MimeMessage message = new MimeMessage(session);
        try{
         //載入發件人地址
            message.setFrom(new InternetAddress(from));
           //載入收件人地址
            message.addRecipient(Message.RecipientType.TO,new InternetAddress(to));
           //載入標題
            message.setSubject(subject);
          
            // 向multipart物件中新增郵件的各個部分內容,包括文字內容和附件