很多網站都支持郵箱注冊,以下將實現郵箱注冊
功能:支持登錄,注冊,激活,重置密碼。

效果如圖

注冊成功

未激活登錄

激活郵件 去激活

激活后,登錄成功

重置密碼

重置密碼郵件

輸入之前的密碼登陸

輸入重置密碼登陸

錯誤郵箱提示

代碼

引入架包,修改pom.xml

<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <optional>true</optional> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context-support</artifactId> <version>RELEASE</version> </dependency> <!– 模板引擎 –> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-mail</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <!– https://mvnrepository.com/artifact/com.google.code.gson/gson –> <dependency> <groupId>com.google.code.gson</groupId> <artifactId>gson</artifactId> <version>2.8.2</version>

新建實體類User.java與RequestData.java
略了(看代碼)

導入靜態資源
css/js/….

編寫js

$(“#js-btn”).click(function() { var data = {} ; var name = $(“#js-btn”).attr(\\\’class\\\’) ; var url = “” ; if(name.indexOf(“rtn”)>0) { data.userEmail = $(“#js-field__email”).val() ; data.userPass = $(“#js-field__pass”).val() ; url = “/user/login” ; } else if(name.indexOf(“new”)>0) { data.userEmail = $(“#js-field__email”).val() ; data.userPass = $(“#js-field__pass”).val() ; data.userRepass = $(“#js-field__r-pass”).val() ; url = “/user/register” ; } else if(name.indexOf(“rst”)>0) { data.userEmail = $(“#js-field__email”).val() ; url = “/user/forget” ; } submit(data, url) ; }); function submit(data,url) { $.ajax({ cache: !1, type: “POST”, url: url, data: data, async: !0, beforeSend: function () { $(“#js-btn”).html(“提交中…”), $(“#js-btn”).attr(“disabled”, “disabled”) }, success: function (data) { var result = jQuery.parseJSON(data); layer.alert(result.message); }, complete: function () { $(“#js-btn”).html(“success”), $(“#js-btn”).removeAttr(“disabled”) } }) }

編寫controler

/** * Created by yando on 2017/11/22. */ @RestController @RequestMapping(value = “user”) public class UserController { @Autowired private JavaMailSender javaMailSender; @Autowired private TemplateEngine templateEngine; @Value(“${spring.mail.username}”) private String sender; private RequestData requestData = new RequestData() ; public static Map<String, User> map = new HashMap<String, User>(); @RequestMapping(value = “login”, method = RequestMethod.POST) public String login(User user) { for(User u : map.values()) { if(u!=null && u.getUserPass().equals(user.getUserPass()) && u.getUserEmail().equals(user.getUserEmail())) { if(u.getState()==0) { requestData.setCode(“9999”); requestData.setState(“500”); requestData.setMessage(“請前往” user.getUserEmail() “郵箱激活”); return new Gson().toJson(requestData); } requestData.setMessage(“登錄成功”); return new Gson().toJson(requestData); } } requestData.setCode(“9999”); requestData.setState(“500”); requestData.setMessage(“郵箱或者密碼錯誤”); return new Gson().toJson(requestData); } @RequestMapping(value = “register”, method = RequestMethod.POST) public String register(User user) { map.put(user.getUserId(), user); // 發送注冊郵件 sendTemplateMail(user.getUserEmail(), user.getUserId()); requestData.setMessage(“注冊成功, 快去激活”); return new Gson().toJson(requestData); } @RequestMapping(value = “forget”, method = RequestMethod.POST) public String forget(User user) { for(User u : map.values()) { if(u!=null || u.getUserEmail()== user.getUserEmail()) { u.setUserPass(“6666”); map.remove(u.getUserId()); map.put(u.getUserId(), u); requestData.setMessage(“密碼已經重置,快去查看你的郵箱”); sendSimpleEmail(u.getUserEmail(), “您好,您密碼已重置,初始密碼:6666,為了你的安全請盡快修改密碼。”); return new Gson().toJson(requestData); } } requestData.setCode(“9999”); requestData.setState(“500”); requestData.setMessage(“無效郵箱”); return new Gson().toJson(requestData); } @RequestMapping(value = “activation/{userId}”, method = RequestMethod.GET) public void activation(@PathVariable String userId, HttpServletResponse response) throws IOException { User user = map.get(userId); if(user!=null) { user.setState(1); map.remove(user.getUserId()); map.put(user.getUserId(), user); } response.sendRedirect(“../../login.html”); } public void sendSimpleEmail(String recipient,String text) { SimpleMailMessage message = new SimpleMailMessage(); // 發送者 message.setFrom(sender); // 接收者 message.setTo(recipient); //郵件主題 message.setSubject(“Java資源分享網密碼重置郵件”); // 郵件內容 message.setText(text); javaMailSender.send(message); } public void sendTemplateMail(String recipient,String userId) { MimeMessage message = javaMailSender.createMimeMessage(); try { MimeMessageHelper helper = new MimeMessageHelper(message, true); helper.setFrom(sender); helper.setTo(recipient); helper.setSubject(“Java資源分享網驗證郵件”); Context context = new Context(); context.setVariable(“id”, userId); String emailContent = templateEngine.process(“emailTemplate”, context); helper.setText(emailContent, true); } catch (MessagingException e) { throw new RuntimeException(“Messaging Exception !”, e); } javaMailSender.send(message); } }

結束了

執行RunApplication.java,看效果吧。

請測試郵件用自己的 不要給博主造成不必要的影響 謝謝

源碼下載

SpringBoot進階郵件服務(實戰模擬郵箱注冊含源碼)

 

如果,你對上面的內容還有疑問,推薦選擇三五互聯企業云郵箱!有專人協助您解答郵箱疑問。

三五互聯21年老牌服務商,企業郵箱功能豐富,支持層級子文件夾,郵件歸檔,郵件撤回,企業網盤,日程微信通知、多彩便簽等幾十項特色功能,使用管理便捷。按需自由定制,購買靈活,PCIe加速、極速收發!而且支持小程序收發郵件,隨時隨地移動辦公。價格實惠,還可以免費試用!

高性價比企業郵箱開通鏈接:http://m.shinetop.cn/services/mail/

贊(0)
聲明:本網站發布的內容(圖片、視頻和文字)以原創、轉載和分享網絡內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。郵箱:3140448839@qq.com。本站原創內容未經允許不得轉載,或轉載時需注明出處:三五互聯知識庫 » SpringBoot進階郵件服務(實戰模擬郵箱注冊含源碼)

登錄

找回密碼

注冊

主站蜘蛛池模板: 久久午夜无码免费| 精品一区二区免费不卡| 乌海市| 久久99久国产精品66| 国产精品午夜无码AV天美传媒| 国产乱码精品一区二区三| 伊人久久久大香线蕉综合直播| 四虎精品寂寞少妇在线观看| 国产精品十八禁在线观看| 久久精品国产亚洲av麻豆小说| 亚洲精品国产综合久久一线| 狠狠躁夜夜躁人人爽天天5| 国产精品无码无卡在线播放| 国内熟妇与亚洲洲熟妇妇| 与子乱对白在线播放单亲国产| 鲁丝片一区二区三区免费| 在线看国产精品自拍内射| 69天堂人成无码免费视频| 国产成人精品手机在线观看| 免费无码又爽又刺激高潮虎虎视频 | 日韩欧美国产aⅴ另类| 久久亚洲综合精品成人网| 中文熟妇人妻av在线| 国产美女高潮流白浆视频| 日日碰狠狠躁久久躁96avv | 又湿又紧又大又爽A视频男| 久久国产乱子伦免费精品| 加勒比中文字幕无码一区| 久久热这里只有精品66| 精品国产乱码久久久久乱码| 国产毛片子一区二区三区| 国产精品自拍中文字幕| 星子县| 成人性无码专区免费视频| 福鼎市| 最新国产精品亚洲| 九九在线精品国产| 欧美变态另类zozo| 国产激情国产精品久久源| 精品熟女日韩中文十区| 欧美激情一区二区久久久|