您好,登錄后才能下訂單哦!
本文實例為大家分享了Springboot實現郵件發送具體代碼,供大家參考,具體內容如下
需求:用戶注冊賬號綁定郵箱之后,下次登錄時忘記密碼,需要通過郵箱找回密碼
1.創建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//發件人郵箱,需要開啟smtp服務 spring.mail.password=ming438434//授權密碼,非郵箱的登錄密碼 spring.mail.port=25 spring.mail.protocol=smtp spring.mail.default-encoding=UTF-8
發件人郵箱的設置:
郵箱客戶端授權碼也需要手動開啟,設置授權碼
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("已發送至您的郵箱") location.href="/login.html" rel="external nofollow" ; } if (data=="failful") { alert("郵箱錯誤") } }, error: function (data) { alert("網絡繁忙") } }); }); });
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");//發件人郵箱 mimeMessage.setSubject("找回密碼"); //啟用html mimeMessageHelper.setText(stringBuilder.toString(),true); javaMailSender.send(mimeMessage); return Constent.SUCCESSFUL; } catch (MessagingException e) { e.printStackTrace(); return Constent.FAILFUL; } } /** * 通過郵箱到數據庫查詢用戶的信息 */ @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); }
發送成功效果
這是一個簡單的通過郵箱找回密碼就完成了。
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。