第一步添加mail的依賴
<!--引入mail的依賴 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-mail</artifactId> </dependency>
第二步編寫郵箱的
yml配置文件
spring: #郵箱配置 mail: host: smtp.qq.com username: [email protected] #QQ郵箱的授權(quán)碼 password: 授權(quán)碼 default-encoding: UTF-8 properties: mail: smtp: auth: true starttls: enable: true required: true
properties的配置文件
#qq郵箱配置 # JavaMailSender 郵件發(fā)送的配置 spring.mail.host=smtp.qq.com spring.mail.username=用戶qq郵箱 #QQ郵箱的授權(quán)碼 spring.mail.password=授權(quán)碼 spring.mail.properties.mail.smtp.auth=true spring.mail.properties.mail.smtp.starttls.enable=true spring.mail.properties.mail.smtp.starttls.required=true spring.mail.default-encoding=UTF-8 #163郵箱配置 spring.mail.host=smtp.163.com spring.mail.username=用戶163郵箱 spring.mail.password=郵箱密碼 spring.mail.properties.mail.smtp.auth=true spring.mail.properties.mail.smtp.starttls.enable=true spring.mail.properties.mail.smtp.starttls.required=true spring.mail.default-encoding=UTF-8
編寫兩個發(fā)送郵件的接口
package www.it.com.server; import java.io.File; /** * @author wangjie: * @version 創(chuàng)建時間:2019年8月27日 上午10:13:08 * @Description 類描述: */ public interface MailServer { /** * @param sendUser 郵件接收人 * @param title 郵件的標題 * @param text 郵件的內(nèi)容 */ void sendMailServer(String sendUser,String title,String text); /** * 帶有附件郵箱的發(fā)送 * @param sendUser * @param title * @param text * @param file */ void sendFileMail(String sendUser,String title,String text,File file); }
接口的實現(xiàn)
package www.it.com.server.impl; import java.io.File; import javax.mail.MessagingException; import javax.mail.internet.MimeMessage; import org.apache.logging.log4j.message.SimpleMessage; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.core.io.FileSystemResource; import org.springframework.mail.SimpleMailMessage; import org.springframework.mail.javamail.JavaMailSender; import org.springframework.mail.javamail.MimeMessageHelper; import org.springframework.stereotype.Service; import www.it.com.server.MailServer; /** * @author wangjie: * @version 創(chuàng)建時間:2019年8月27日 上午10:13:58 * @Description 類描述: */ @Service public class MailServerImpl implements MailServer { @Value("${spring.mail.username}") private String fromUser; @Autowired private JavaMailSender javaMailSender; public String getFromUser() { return fromUser; } public void setFromUser(String fromUser) { this.fromUser = fromUser; } @Override public void sendMailServer(String sendUser, String title, String text) { //創(chuàng)建郵件的實體 用于封裝發(fā)送郵件需要的信息 SimpleMailMessage simpleMailMessage=new SimpleMailMessage(); //郵件的發(fā)送人 simpleMailMessage.setFrom(fromUser); //郵件接收人 simpleMailMessage.setTo(sendUser); //郵件的標題 simpleMailMessage.setSubject(title); //郵件的內(nèi)容 simpleMailMessage.setText(text); //發(fā)送郵件 javaMailSender.send(simpleMailMessage); } @Override public void sendFileMail(String sendUser, String title, String text, File file) { MimeMessage mimeMessage = null; try { mimeMessage =javaMailSender.createMimeMessage(); //創(chuàng)建mimeMessageHelper對象用于處理帶有附件的郵件信息 MimeMessageHelper mimeMessageHelper=new MimeMessageHelper(mimeMessage,true); mimeMessageHelper.setFrom(fromUser); mimeMessageHelper.setTo(sendUser); mimeMessageHelper.setSubject(title); mimeMessageHelper.setText(text); FileSystemResource r = new FileSystemResource(file); //添加附件 mimeMessageHelper.addAttachment("附件", r); javaMailSender.send(mimeMessage); } catch (MessagingException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }
controller編碼
package www.it.com.controller; import java.io.File; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import www.it.com.server.MailServer; /** * @author wangjie: * @version 創(chuàng)建時間:2019年8月27日 上午9:52:30 * @Description 類描述:郵件發(fā)送的controller */ @RestController() @RequestMapping("/mail") public class MailController { @Autowired private MailServer mailServer; /** * 簡單郵件的發(fā)送 * @return */ @RequestMapping("/send") public String sendMail() { //2694433816 mailServer.sendMailServer("[email protected]", "你好", "明天去你家玩"); return "success"; } /** * 發(fā)送帶有附件的郵件 */ @RequestMapping("/sendFile") public String sendFileMail() { File file=new File("C://Users//DELL//Desktop//學習資料.txt"); mailServer.sendFileMail("[email protected]", "你好dsf", "這是第二封帶有附件的郵件", file); return "success"; } }
授權(quán)碼生成的步驟
登錄郵箱選擇設置
選擇賬戶
滑動到下面開啟相應的服務 選擇生成授權(quán)碼
到此這篇關(guān)于springboot整合mail實現(xiàn)郵箱的發(fā)送功能的文章就介紹到這了,更多相關(guān)springboot整合mail郵箱發(fā)送內(nèi)容請搜索服務器之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持服務器之家!
原文鏈接:https://www.cnblogs.com/wang66a/p/12069301.html