Java實(shí)現(xiàn)簡單的郵件發(fā)送功能
本文實(shí)例為大家分享了Java實(shí)現(xiàn)簡單的郵件發(fā)送的具體代碼,供大家參考,具體內(nèi)容如下
要注意只有開啟了POP3/SMTP才能收發(fā)郵件,首先要開啟此功能
** qq郵箱的開啟方式**
設(shè)置——》賬戶——》找到下圖的的信息,并開啟
網(wǎng)易163郵箱的開啟方式
設(shè)置——》POP3/SMTP/IMAP
當(dāng)開啟了之后就可以收發(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ā)件人稱號(hào),同郵箱地址 ? ? private static final String PASSWORD = ""; // 如果是qq郵箱可以使戶端授權(quán)碼,或者登錄密碼 ? ? /** ? ? ?* ? ? ?* @param to 收件人郵箱 ? ? ?* @param text 郵件正文 ? ? ?* @param title 標(biāo)題 ? ? ?*/ ? ? /* 發(fā)送驗(yàn)證信息的郵件 */ ? ? 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ā)件人的賬號(hào) ? ? ? ? ? ? props.put("mail.user", USER); ? ? ? ? ? ? //發(fā)件人的密碼 ? ? ? ? ? ? props.put("mail.password", PASSWORD); ? ? ? ? ? ? // 構(gòu)建授權(quán)信息,用于進(jìn)行SMTP進(jìn)行身份驗(yàn)證 ? ? ? ? ? ? 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)境屬性和授權(quán)信息,創(chuàng)建郵件會(huì)話 ? ? ? ? ? ? Session mailSession = Session.getInstance(props, authenticator); ? ? ? ? ? ? // 創(chuàng)建郵件消息 ? ? ? ? ? ? MimeMessage message = new MimeMessage(mailSession); ? ? ? ? ? ? // 設(shè)置發(fā)件人 ? ? ? ? ? ? String username = props.getProperty("mail.user"); ? ? ? ? ? ? InternetAddress form = new InternetAddress(username); ? ? ? ? ? ? message.setFrom(form); ? ? ? ? ? ? // 設(shè)置收件人 ? ? ? ? ? ? InternetAddress toAddress = new InternetAddress(to); ? ? ? ? ? ? message.setRecipient(Message.RecipientType.TO, toAddress); ? ? ? ? ? ? // 設(shè)置郵件標(biāo)題 ? ? ? ? ? ? message.setSubject(title); ? ? ? ? ? ? // 設(shè)置郵件的內(nèi)容體 ? ? ? ? ? ? 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 { // 做測(cè)試用 ? ? ? ? MailUtils.sendMail("","測(cè)試郵件,無需回復(fù)!","測(cè)試郵件"); ? ? ? ? System.out.println("發(fā)送成功"); ? ? } }
這里填寫發(fā)件人的郵箱和授權(quán)碼,如果是qq郵箱則使用qq密碼即可
以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- Java郵件發(fā)送程序(可以同時(shí)發(fā)給多個(gè)地址、可以帶附件)
- Java HtmlEmail 郵件發(fā)送的簡單實(shí)現(xiàn)代碼
- 基于JavaMail的Java實(shí)現(xiàn)簡單郵件發(fā)送功能
- Java實(shí)現(xiàn)帶附件的郵件發(fā)送功能
- JavaWeb實(shí)現(xiàn)郵件發(fā)送接收功能
- Java實(shí)現(xiàn)郵件發(fā)送功能
- Java實(shí)現(xiàn)郵件發(fā)送遇到的問題
- java郵件發(fā)送的實(shí)現(xiàn)
- java郵件發(fā)送簡單實(shí)現(xiàn)代碼
- JavaMail實(shí)現(xiàn)郵件發(fā)送的方法
相關(guān)文章
springboot日志文件名稱叫l(wèi)ogback-spring.xml的原因解析
這篇文章主要介紹了springboot日志文件名稱為什么叫l(wèi)ogback-spring.xml,本文給大家講解的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-08-08使用maven方式創(chuàng)建springboot項(xiàng)目的方式
使用Spring Initializr創(chuàng)建spring boot項(xiàng)目,因?yàn)橥饩W(wǎng)問題導(dǎo)致很難成功,所以只能使用maven方式,這里介紹下使用maven方式創(chuàng)建springboot項(xiàng)目的方法,感興趣的朋友一起看看吧2022-09-09Spring Boot Actuator執(zhí)行器運(yùn)行原理詳解
這篇文章主要介紹了Spring Boot Actuator執(zhí)行器運(yùn)行原理詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-03-03Java深入數(shù)據(jù)結(jié)構(gòu)理解掌握抽象類與接口
在類中沒有包含足夠的信息來描繪一個(gè)具體的對(duì)象,這樣的類稱為抽象類,接口是Java中最重要的概念之一,它可以被理解為一種特殊的類,不同的是接口的成員沒有執(zhí)行體,是由全局常量和公共的抽象方法所組成,本文給大家介紹Java抽象類和接口,感興趣的朋友一起看看吧2022-05-05