java邮箱_java发送邮件(qq邮箱)
完整的示例代碼:
package cn.sw.study.common.test;
import javax.mail.Message;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import java.util.Date;
import java.util.Properties;
/**
* java發送郵件測試
*/
public class TestMail {
// 發件人的郵箱地址和密碼
public static String sendEmailAccount = "xxx";
//如果有授權碼,此處填寫授權碼
public static String sendEmailPassword = "xxx";
// 發件人郵箱的 SMTP 服務器地址, 可以登錄web郵箱查詢
public static String sendEmailSMTPHost = "smtp.qq.com";
// 收件人郵箱地址
public static String receiveMailAccount = "xxx";
public static void main(String[] args) throws Exception {
// 參數配置
Properties props = new Properties();
props.setProperty("mail.transport.protocol", "smtp");
props.setProperty("mail.smtp.host", sendEmailSMTPHost);
props.setProperty("mail.smtp.auth", "true");
props.setProperty("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
props.setProperty("mail.smtp.port", "465");
props.setProperty("mail.smtp.socketFactory.port", "465");
// 根據配置創建會話對象, 用于和郵件服務器交互
Session session = Session.getDefaultInstance(props);
session.setDebug(true); ? // 設置為debug模式, 可以查看詳細的發送 log
// 創建一封郵件
Message message = createMimeMessage(session, sendEmailAccount, receiveMailAccount);
// 根據 Session 獲取郵件傳輸對象
Transport transport = session.getTransport();
// 使用 郵箱賬號 和 密碼 連接郵件服務器, 這里認證的郵箱必須與 message 中的發件人郵箱一致, 否則會報錯
transport.connect(sendEmailAccount, sendEmailPassword);
// 發送郵件
transport.sendMessage(message, message.getAllRecipients());
// 關閉連接
transport.close();
}
/**
* 創建一封簡單郵件
*/
private static Message createMimeMessage(Session session, String sendMail, String receiveMail) throws Exception {
Message message = new MimeMessage(session);
message.setFrom(new InternetAddress(sendMail));
message.setRecipient(MimeMessage.RecipientType.TO, new InternetAddress(receiveMail));
// 設置郵件標題
message.setSubject("發送郵件測試");
// 設置郵件正文
message.setText("這是測試內容,請忽略此內容詳情");
message.setSentDate(new Date());
//保存設置
message.saveChanges();
return message;
}
}
右擊運行此測試程序,控制臺打印出"message successfully delivered to mail server"表示發送成功
總結
以上是生活随笔為你收集整理的java邮箱_java发送邮件(qq邮箱)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: datagrip替换字_DataGrip
- 下一篇: js生日计算年龄_你知道用EXCEL可以