程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> 使用JavaMail發送郵件

使用JavaMail發送郵件

編輯:關於JAVA

代碼如下:

package demo;

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 sun.misc.BASE64Encoder;

public class MailSender ...{

  public static void main(String[] args) ...{

    MailSender sender = new MailSender();
    sender.setHost("smtp.sina.com.cn");
    sender.setFromAddr("");
    sender.setToAddr("");
    sender.setUsername("wwwwwwww");
    sender.setPassword("ssssssss");
    sender.setTitle("關於提高效率的幾點想法");
    sender.setAttachPath("C:singleUser.sql");
    sender.setAttachName("singleUser.sql");

    try ...{
      sender.sendMail();
    } catch (Exception e) ...{
      e.printStackTrace();
    }
  }

  public void sendMail() throws Exception...{

    Properties props = new Properties();
    props.put("mail.smtp.host", getHost());
    props.put("mail.smtp.auth", "true");
    Session session = Session.getDefaultInstance(props);
    session.setDebug(true);
    MimeMessage message = new MimeMessage(session);
    message.setFrom(new InternetAddress(getFromAddr()));
    message.addRecipient(Message.RecipientType.TO,new InternetAddress(getToAddr()));
    message.setSubject(getTitle());
    Multipart multipart = new MimeMultipart();
    BodyPart contentPart = new MimeBodyPart();
    contentPart.setText("郵件的具體內容在此");
    multipart. addBodyPart(contentPart);
    if(getAttachPath() != null && getAttachName() != null)...{
      BodyPart attachmentPart= new MimeBodyPart();
      DataSource source = new FileDataSource(getAttachPath ());
      attachmentPart.setDataHandler(new DataHandler(source));
      BASE64Encoder enc = new BASE64Encoder();
      attachmentPart.setFileName("=?GBK?B? "+enc.encode(getAttachName().getBytes())+"?=");
      multipart.addBodyPart(attachmentPart);
    }
    message.setContent(multipart);
    message.saveChanges();
    Transport transport = session.getTransport ("smtp");
    transport.connect(host, getUsername(), getPassword());
    transport.sendMessage(message, message.getAllRecipients());
    transport.close();
  }

  private String host = null;
  private String fromAddr = null;
  private String toAddr = null;
  private String username = null;
  private String password = null;
  private String title = null;
  private String attachPath = null;
  private String attachName = null;

  public String getHost() ...{
    return host;
  }

  public void setHost(String host) ...{
    this.host = host;
  }

  public String getFromAddr() ...{
    return fromAddr;
  }

  public void setFromAddr(String fromAddr) ...{
    this.fromAddr = fromAddr;
  }

  public String getToAddr() ...{
    return toAddr;
  }

  public void setToAddr(String toAddr) ...{
    this.toAddr = toAddr;
  }

  public String getUsername() ...{
    return username;
  }

  public void setUsername(String username) ...{
    this.username = username;
  }

  public String getPassword() ...{
    return password;
  }

  public void setPassword(String password) ...{
    this.password = password;
  }

  public String getTitle() ...{
    return title;
  }

  public void setTitle(String title) ...{
    this.title = title;
  }

  public String getAttachPath() ...{
    return attachPath;
  }

  public void setAttachPath(String attachPath) ...{
    this.attachPath = attachPath;
  }

  public String getAttachName() ...{
    return attachName;
  }

  public void setAttachName(String attachName) ...{
    this.attachName = attachName;
  }
}

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved