Java實現簡單的郵件發(fā)送功能
本文實例為大家分享了Java實現簡單的郵件發(fā)送的具體代碼,供大家參考,具體內容如下
要注意只有開啟了POP3/SMTP才能收發(fā)郵件,首先要開啟此功能
** qq郵箱的開啟方式**
設置——》賬戶——》找到下圖的的信息,并開啟

網易163郵箱的開啟方式
設置——》POP3/SMTP/IMAP

當開啟了之后就可以收發(fā)郵件了
Java代碼
package cn.itcast.travel.util;
import javax.mail.*;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import java.util.Properties;
/**
?* 發(fā)郵件工具類
?*/
public final class MailUtils {
? ? private static final String USER = ""; // 發(fā)件人稱號,同郵箱地址
? ? private static final String PASSWORD = ""; // 如果是qq郵箱可以使戶端授權碼,或者登錄密碼
? ? /**
? ? ?*
? ? ?* @param to 收件人郵箱
? ? ?* @param text 郵件正文
? ? ?* @param title 標題
? ? ?*/
? ? /* 發(fā)送驗證信息的郵件 */
? ? public static boolean sendMail(String to, String text, String title){
? ? ? ? try {
? ? ? ? ? ? final Properties props = new Properties();
? ? ? ? ? ? props.put("mail.smtp.auth", "true");
? ? ? ? ? ? props.put("mail.smtp.host", "smtp.qq.com");
? ? ? ? ? ? // 發(fā)件人的賬號
? ? ? ? ? ? props.put("mail.user", USER);
? ? ? ? ? ? //發(fā)件人的密碼
? ? ? ? ? ? props.put("mail.password", PASSWORD);
? ? ? ? ? ? // 構建授權信息,用于進行SMTP進行身份驗證
? ? ? ? ? ? Authenticator authenticator = new Authenticator() {
? ? ? ? ? ? ? ? @Override
? ? ? ? ? ? ? ? protected PasswordAuthentication getPasswordAuthentication() {
? ? ? ? ? ? ? ? ? ? // 用戶名、密碼
? ? ? ? ? ? ? ? ? ? String userName = props.getProperty("mail.user");
? ? ? ? ? ? ? ? ? ? String password = props.getProperty("mail.password");
? ? ? ? ? ? ? ? ? ? return new PasswordAuthentication(userName, password);
? ? ? ? ? ? ? ? }
? ? ? ? ? ? };
? ? ? ? ? ? // 使用環(huán)境屬性和授權信息,創(chuàng)建郵件會話
? ? ? ? ? ? Session mailSession = Session.getInstance(props, authenticator);
? ? ? ? ? ? // 創(chuàng)建郵件消息
? ? ? ? ? ? MimeMessage message = new MimeMessage(mailSession);
? ? ? ? ? ? // 設置發(fā)件人
? ? ? ? ? ? String username = props.getProperty("mail.user");
? ? ? ? ? ? InternetAddress form = new InternetAddress(username);
? ? ? ? ? ? message.setFrom(form);
? ? ? ? ? ? // 設置收件人
? ? ? ? ? ? InternetAddress toAddress = new InternetAddress(to);
? ? ? ? ? ? message.setRecipient(Message.RecipientType.TO, toAddress);
? ? ? ? ? ? // 設置郵件標題
? ? ? ? ? ? message.setSubject(title);
? ? ? ? ? ? // 設置郵件的內容體
? ? ? ? ? ? message.setContent(text, "text/html;charset=UTF-8");
? ? ? ? ? ? // 發(fā)送郵件
? ? ? ? ? ? Transport.send(message);
? ? ? ? ? ? return true;
? ? ? ? }catch (Exception e){
? ? ? ? ? ? e.printStackTrace();
? ? ? ? }
? ? ? ? return false;
? ? }
? ? public static void main(String[] args) throws Exception { // 做測試用
? ? ? ? MailUtils.sendMail("","測試郵件,無需回復!","測試郵件");
? ? ? ? System.out.println("發(fā)送成功");
? ? }
}這里填寫發(fā)件人的郵箱和授權碼,如果是qq郵箱則使用qq密碼即可


以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
Java中操作Xml使用方法備忘錄(Hutool工具類XmlUtil、XStream)
這篇文章主要給大家介紹了關于Java中操作Xml使用方法(Hutool工具類XmlUtil、XStream)的相關資料,XMLUtil是一個工具類,主要用于讀取XML配置文件并提供相應的操作方法,文中通過代碼介紹的非常詳細,需要的朋友可以參考下2023-11-11
詳解Maven項目缺少Maven Dependencies解決方法總結
這篇文章主要介紹了詳解Maven項目缺少Maven Dependencies解決方法總結,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-11-11
SpringBoot整合SpringSession實現分布式登錄詳情
這篇文章主要介紹了SpringBoot整合SpringSession實現分布式登錄詳情,文章圍繞主題展開詳細的內容介紹,具有一定的參考價值,需要的朋友可以參考一下2022-08-08
mybatis insert foreach循環(huán)插入方式
這篇文章主要介紹了mybatis insert foreach循環(huán)插入方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-07-07
IDEA神器一鍵查看Java字節(jié)碼及其他類信息插件
這篇文章主要為大家介紹了一款IDEA神器,可以一鍵查看Java字節(jié)碼及其他類信息,有需要的朋友可以借鑒參考下,希望能夠有所幫助2022-01-01

