Java實現郵件傳送(傳統方式)
阿新 • • 發佈:2018-11-06
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(); }
}