1. 程式人生 > >Java實現郵件傳送(傳統方式)

Java實現郵件傳送(傳統方式)

package jl.bh.shy.utils;

import java.util.Properties;

import javax.mail.Address;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
//通過qq郵箱進行傳送,傳送者郵箱應該開啟smtp服務用給的密碼進行傳送
public class MailUtils {

//引數說明t oAddress接收者地址 subject郵件主題  context郵件內容
public static void sendMessage(String acceptAddress,String subject,String context) throws Exception{
	String sendAddress = null;
	String sendPassword = null;
	Properties prop = new Properties();
	prop.put("mail.smtp.host", "smpt.qq.com");//指定郵件的傳送伺服器地址
	prop.put("mail.smtp.auth", true);		//伺服器是否需要驗證使用者的身份資訊
	
	
	Session session = Session.getInstance(prop);//得到session
	//應答的機制會在控制檯輸出它
	session.setDebug(true);//代表啟動debug模式 可以在控制檯輸出smtp協議的應該過程
	
	//構造訊息體
	MimeMessage message = new MimeMessage(session);
	
	//設定傳送者
	Address fromAddress = new InternetAddress(sendAddress);//郵件地址
	//設定傳送郵件地址
	message.setFrom(fromAddress);
	//設定接受者
	Address toAddress = new InternetAddress(acceptAddress);
	//設定接受
	message.setRecipient(MimeMessage.RecipientType.TO, toAddress);
	
	//設定主題
	message.setSubject(subject);
	//設定正文
	message.setText(context);
	
	//儲存郵件
	message.saveChanges();
	
	
	//得到傳送郵件的火箭
	Transport transport = session.getTransport("smtp");
	
	//火箭連線到伺服器  rlupzpobhvdjbddd   郵箱登陸密碼
	transport.connect("smtp.qq.com",sendAddress,sendPassword);
	//火箭點火
	transport.sendMessage(message,message.getAllRecipients());
	
	
	transport.close();
}

}