Springboot實現(xiàn)郵件發(fā)送功能
本文實例為大家分享了Springboot實現(xiàn)郵件發(fā)送具體代碼,供大家參考,具體內(nèi)容如下
需求:用戶注冊賬號綁定郵箱之后,下次登錄時忘記密碼,需要通過郵箱找回密碼
1.創(chuàng)建springboot項目
2.pom導入依賴
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-mail</artifactId> </dependency>
3.application.properties配置文件
spring.mail.host=smtp.163.com spring.mail.username=sple_vip@163.com//發(fā)件人郵箱,需要開啟smtp服務 spring.mail.password=ming438434//授權(quán)密碼,非郵箱的登錄密碼 spring.mail.port=25 spring.mail.protocol=smtp spring.mail.default-encoding=UTF-8
發(fā)件人郵箱的設(shè)置:
郵箱客戶端授權(quán)碼也需要手動開啟,設(shè)置授權(quán)碼
4.用戶輸入自己的郵箱,點擊找回,前端頁面
html代碼:
<div class="regWrap"> <div class="regName"> <span>請輸入郵箱</span> <input id="mail" type="email" class="mail" placeholder="請輸入郵箱"> </div> <button id="registbtn" class="regBtn" type="button">找回</button> </div>
js代碼:
$(function () { $("#registbtn").click(function() { var user = { mail:$("#mail").val() } $.ajax({ type: "POST", url:"/mail.action", contentType: "application/json;", data: JSON.stringify(user), success: function (data) { if(data == "successful"){ alert("已發(fā)送至您的郵箱") location.href="/login.html" rel="external nofollow" ; } if (data=="failful") { alert("郵箱錯誤") } }, error: function (data) { alert("網(wǎng)絡繁忙") } }); }); });
5.點擊找回,進入controller層
@RequestMapping("/mail.action") public String mail(@RequestBody User user) { return mailService.sendMail(user); }
service層
@Service public class MailServiceImpl implements MailService{ @Autowired private JavaMailSender javaMailSender; @Autowired private UserMapper userMapper; @Override public String sendMail(User user) { User user2 = mailPwd(user); StringBuilder stringBuilder=new StringBuilder(); stringBuilder.append("<html><head><title></title></head><body>"); stringBuilder.append("親愛的用戶"+user2.getAccount()+",您的當前密碼是:"+user2.getPassword()); stringBuilder.append("</br><a ); MimeMessage mimeMessage=javaMailSender.createMimeMessage(); //multipart模式 try { MimeMessageHelper mimeMessageHelper=new MimeMessageHelper(mimeMessage, true); mimeMessageHelper.setTo(user.getMail());//收件人郵箱user.getMail() mimeMessageHelper.setFrom("sple_vip@163.com");//發(fā)件人郵箱 mimeMessage.setSubject("找回密碼"); //啟用html mimeMessageHelper.setText(stringBuilder.toString(),true); javaMailSender.send(mimeMessage); return Constent.SUCCESSFUL; } catch (MessagingException e) { e.printStackTrace(); return Constent.FAILFUL; } } /** * 通過郵箱到數(shù)據(jù)庫查詢用戶的信息 */ @Override public User mailPwd(User user) { return userMapper.mailPwd(user); } }
dao層
public interface UserMapper { /** * 通過郵箱查詢用戶信息 */ @Select("SELECT * FROM user WHERE mail = #{mail}") public User mailPwd(User user); }
發(fā)送成功效果
這是一個簡單的通過郵箱找回密碼就完成了。
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
SpringBoot中實現(xiàn)啟動任務的實現(xiàn)步驟
這篇文章主要介紹了SpringBoot中實現(xiàn)啟動任務的實現(xiàn)步驟,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-09-09Java查詢Elasticsearch數(shù)據(jù)根據(jù)指定id檢索(in查詢)、sql權(quán)限過濾、多字段匹配檢索及數(shù)據(jù)排序
在Java開發(fā)中Elasticsearch(簡稱ES)是一個非常流行的搜索引擎,它提供了強大的全文搜索和分析功能,這篇文章主要給大家介紹了關(guān)于Java查詢Elasticsearch數(shù)據(jù)根據(jù)指定id檢索(in查詢)、sql權(quán)限過濾、多字段匹配檢索及數(shù)據(jù)排序的相關(guān)資料,需要的朋友可以參考下2024-05-05JavaWeb 使用Session實現(xiàn)一次性驗證碼功能
這篇文章主要介紹了JavaWeb 使用Session實現(xiàn)一次性驗證碼功能,本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下2019-08-08Spring Boot優(yōu)雅使用RocketMQ的方法實例
這篇文章主要給大家介紹了關(guān)于Spring Boot優(yōu)雅使用RocketMQ的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用Spring Boot具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧2019-12-12Spring-AOP自動創(chuàng)建代理之BeanNameAutoProxyCreator實例
這篇文章主要介紹了Spring-AOP自動創(chuàng)建代理之BeanNameAutoProxyCreator實例,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-07-07