您好,登錄后才能下訂單哦!
本篇內容介紹了“如何利用springboot實現郵箱的發送功能”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
第一步添加mail的依賴
<!--引入mail的依賴 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-mail</artifactId> </dependency>
第二步編寫郵箱的
yml配置文件
spring: #郵箱配置 mail: host: smtp.qq.com username: 2631245486@qq.com #QQ郵箱的授權碼 password: 授權碼 default-encoding: UTF-8 properties: mail: smtp: auth: true starttls: enable: true required: true
properties的配置文件
#qq郵箱配置 # JavaMailSender 郵件發送的配置 spring.mail.host=smtp.qq.com spring.mail.username=用戶qq郵箱 #QQ郵箱的授權碼 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 #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
編寫兩個發送郵件的接口
package www.it.com.server; import java.io.File; /** * @author wangjie: * @version 創建時間:2019年8月27日 上午10:13:08 * @Description 類描述: */ public interface MailServer { /** * @param sendUser 郵件接收人 * @param title 郵件的標題 * @param text 郵件的內容 */ void sendMailServer(String sendUser,String title,String text); /** * 帶有附件郵箱的發送 * @param sendUser * @param title * @param text * @param file */ void sendFileMail(String sendUser,String title,String text,File file); }
接口的實現
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 創建時間: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) { //創建郵件的實體 用于封裝發送郵件需要的信息 SimpleMailMessage simpleMailMessage=new SimpleMailMessage(); //郵件的發送人 simpleMailMessage.setFrom(fromUser); //郵件接收人 simpleMailMessage.setTo(sendUser); //郵件的標題 simpleMailMessage.setSubject(title); //郵件的內容 simpleMailMessage.setText(text); //發送郵件 javaMailSender.send(simpleMailMessage); } @Override public void sendFileMail(String sendUser, String title, String text, File file) { MimeMessage mimeMessage = null; try { mimeMessage =javaMailSender.createMimeMessage(); //創建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 創建時間:2019年8月27日 上午9:52:30 * @Description 類描述:郵件發送的controller */ @RestController() @RequestMapping("/mail") public class MailController { @Autowired private MailServer mailServer; /** * 簡單郵件的發送 * @return */ @RequestMapping("/send") public String sendMail() { //2694433816 mailServer.sendMailServer("2631245486@qq.com", "你好", "明天去你家玩"); return "success"; } /** * 發送帶有附件的郵件 */ @RequestMapping("/sendFile") public String sendFileMail() { File file=new File("C://Users//DELL//Desktop//學習資料.txt"); mailServer.sendFileMail("2631245486@qq.com", "你好dsf", "這是第二封帶有附件的郵件", file); return "success"; } }
授權碼生成的步驟
登錄郵箱選擇設置
選擇賬戶
滑動到下面開啟相應的服務 選擇生成授權碼
“如何利用springboot實現郵箱的發送功能”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。