<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
本文範例為大家分享了JavaMail實現簡單郵件傳送的具體程式碼,供大家參考,具體內容如下
1.引入依賴
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-mail</artifactId> <version>2.5.5</version> </dependency>
2.郵件傳送工具類
package com.test; import lombok.Builder; import lombok.Data; 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; /** * 郵件工具 * @author visy.wang * @date 2021/10/18 11:13 */ public class MailUtil { private static final String USER = "發件人郵箱地址"; private static final String PASS = "發件人郵箱密碼"; private static final String HOST = "smtp.xxx.com"; //郵件伺服器地址 private static final String PORT = "465"; //SSL連線埠:465,普通連線:25 private static final Properties PROPERTIES = new Properties(); //連線郵件伺服器的引數設定 static { //設定使用者的認證方式 PROPERTIES.setProperty("mail.smtp.auth", "true"); //設定傳輸協定 PROPERTIES.setProperty("mail.transport.protocol", "smtp"); //設定發件人的SMTP伺服器地址 PROPERTIES.setProperty("mail.smtp.host", HOST); //使用SSL安全連線(如果不使用SSL,以下設定可省略, 預設埠是25) PROPERTIES.setProperty("mail.smtp.port", PORT); PROPERTIES.setProperty("mail.smtp.socketFactory.port", PORT); PROPERTIES.setProperty("mail.smtp.socketFactory.fallback", "false"); PROPERTIES.setProperty("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory"); } @Data @Builder public static class MyMessage{ private String to; private String subject; private String content; } public static void send(MyMessage message) throws Exception{ //2、建立定義整個應用程式所需的環境資訊的 Session 物件 Session session = Session.getInstance(PROPERTIES); //設定偵錯資訊在控制檯列印出來 session.setDebug(true); //3、建立郵件的範例物件 Message msg = getMessage(session, message); //4、根據session物件獲取郵件傳輸物件Transport Transport transport = session.getTransport(); //設定發件人的賬戶名和密碼 transport.connect(USER, PASS); //傳送郵件,並行送到所有收件人地址,message.getAllRecipients() 獲取到的是在建立郵件物件時新增的所有收件人, 抄送人, 密送人 transport.sendMessage(msg, msg.getAllRecipients()); //如果只想傳送給指定的人,可以如下寫法 //transport.sendMessage(msg, new Address[]{new InternetAddress("xxx@qq.com")}); //5、關閉郵件連線 transport.close(); } private static MimeMessage getMessage(Session session, MyMessage message) throws Exception{ //建立一封郵件的範例物件 MimeMessage msg = new MimeMessage(session); //設定發件人地址 msg.setFrom(new InternetAddress(USER)); /** * 設定收件人地址(可以增加多個收件人、抄送、密送),即下面這一行程式碼書寫多行 * MimeMessage.RecipientType.TO:傳送 * MimeMessage.RecipientType.CC:抄送 * MimeMessage.RecipientType.BCC:密送 */ msg.setRecipient(MimeMessage.RecipientType.TO, new InternetAddress(message.getTo())); //設定郵件主題 msg.setSubject(message.getSubject(),"UTF-8"); //設定郵件正文 msg.setContent(message.getContent(), "text/html;charset=UTF-8"); //設定郵件的傳送時間,預設立即傳送 msg.setSentDate(new Date()); return msg; } }
3.傳送測試
public static void main(String[] args) throws Exception{ MailUtil.send( MailUtil.MyMessage.builder() .to("收件人郵箱地址") .subject("郵件主題") .content("郵件內容<b>支援HTML標籤</b>") .build() ); }
4.注意點
要使用某個郵件伺服器傳送郵件,需要先在郵箱中開通對用的服務:即開啟 SMTP服務。
本文並不是springboot的使用方式,springboot的方式更簡單,只需在application.yml中設定好,然後注入一個傳送者即可。
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援it145.com。
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45