เมื่อเรามักจะออนไลน์เรามักจะใช้การลงทะเบียนเว็บไซต์ มีหลายวิธีเช่นการส่งข้อความเพื่อตรวจสอบและส่งข้อความอีเมล เมื่อเร็ว ๆ นี้ภายใต้ SSH Framework ลิงก์การเปิดใช้งานอีเมลอย่างง่ายถูกสร้างขึ้นในกล่องจดหมายแล้วเปิดใช้งานฟังก์ชั่นของการลงทะเบียนผู้ใช้ MailServer ที่ฉันใช้เป็นเซิร์ฟเวอร์อีเมลง่าย ๆ ซึ่งหมายถึงแพ็คเกจ javax.mail.jar ตามชื่อแนะนำ Javamail ให้นักพัฒนาซอฟต์แวร์การเขียนโปรแกรมที่เกี่ยวข้องกับการประมวลผลอีเมล เป็น API ที่ออกโดย Sun เพื่อจัดการอีเมล สามารถทำการถ่ายโอนจดหมายที่ใช้กันทั่วไปได้อย่างสะดวก
【หมวดหมู่ทั่วไปบทนำ】
นี่คือชั้นเรียนที่ใช้กันทั่วไปให้ฉันแนะนำให้คุณรู้จัก:
【 Authenticator 】
นี่คือคลาสนามธรรมที่เข้าถึงทรัพยากรที่ได้รับการป้องกันผ่านชื่อผู้ใช้และรหัสผ่านซึ่งเป็นเซิร์ฟเวอร์เมล หลังจากการสร้างเสร็จสมบูรณ์แล้ว Authenticator จะต้องลงทะเบียนกับเซสชัน จากนั้นเมื่อจำเป็นต้องมีการรับรองความถูกต้องจะได้รับแจ้ง Authenticator
【ข้อความ】
นี่คือคลาสนามธรรมเพื่อสร้างข้อความที่จะส่งเช่นหัวข้อและเนื้อหา จะต้องมีคลาสย่อยที่จะใช้วิธีการ
【การประชุม】
คลาสเซสชันกำหนดเซสชันเมลพื้นฐานซึ่งเป็นคลาสเข้าระดับสูงสุดของ Java Mail API คลาสอื่น ๆ ทั้งหมดจะมีผลเฉพาะผ่านเซสชันนี้เท่านั้น วัตถุเซสชันใช้วัตถุ java.util.properties เพื่อรับข้อมูลเช่นเซิร์ฟเวอร์เมลชื่อผู้ใช้รหัสผ่านและข้อมูลอื่น ๆ ที่ใช้ร่วมกันตลอดแอปพลิเคชัน คลาสเซสชันนี้แสดงถึงเซสชันเมลใน Javamail แอปพลิเคชันที่ใช้ Javamail แต่ละรายการมีอย่างน้อยหนึ่งเซสชัน แต่สามารถมีเซสชันได้มากที่สุด
เซสชั่น sendmailsession;
SendMailSession = session.getInstance (อุปกรณ์ประกอบฉาก, null);
【ขนส่ง】
ส่วนสุดท้ายของการส่งข้อความคือการใช้คลาสการขนส่ง คลาสนี้ส่งข้อความในภาษาที่ระบุโดยโปรโตคอล (โดยปกติ SMTP) มันเป็นคลาสที่เป็นนามธรรมและใช้งานได้ค่อนข้างคล้ายกับเซสชัน โดยการเรียกเมธอด send () แบบคงที่เวอร์ชันเริ่มต้นของคลาสสามารถใช้: transport.send (ข้อความ) อีกทางเลือกหนึ่งผู้อ่านสามารถรับอินสแตนซ์เฉพาะจากเซสชันกับโปรโตคอลของตัวเองส่งชื่อผู้ใช้และรหัสผ่าน (ไม่จำเป็น) ส่งข้อความแล้วปิดการเชื่อมต่อ
【การใช้งานรหัส】
คลาสเครื่องมือจดหมาย:
แพ็คเกจ cn.itcast.shop.utils; นำเข้า java.util.properties; นำเข้า Javax.mail.authenticator; นำเข้า Javax.mail.message; นำเข้า Javax.mail.message.recipientType; นำเข้า Javax.mail.message.recipientType; นำเข้า Javax.mail.messagingException; นำเข้า javax.mail.passwordauthentication; นำเข้า Javax.mail.session; นำเข้า Javax.mail.transport; นำเข้า Javax.mail.internet.adddressexception; นำเข้า javax.mail.internet.internetaddress; นำเข้า javax.mail.internet.mimemessage; / ** * คลาสเครื่องมือส่งจดหมาย * @author zhouzhou * @date 2016-1-1 * @time 08:52:47 am */ คลาสสาธารณะ mailuitls {โมฆะสาธารณะคงที่ sendmail (สตริงไปที่รหัสสตริง) {/ ** * 1 props.setProperty ("mail.host", "localhost"); เซสชั่นเซสชัน = เซสชัน. getDefaultInstance (อุปกรณ์ประกอบฉาก, Authenticator ใหม่ () {@Override PreventAsTeCtionication GetPasswordAuthentication () {// วิธีการที่สร้างขึ้นใหม่โดยอัตโนมัติส่งคืนรหัสผ่านใหม่ ("[email protected]", "111"); // 2. สร้างอีเมลส่งข้อความส่งข้อความ = mimeMessage ใหม่ (เซสชัน); // 3. ตั้งค่าผู้ส่งลอง {message.setFrom (ใหม่ InternetAddress ("[email protected]")); // ตั้งค่าข้อความผู้รับ AddRecipient (ผู้รับ TECONTYPE.TO, InternetAddress ใหม่ (ถึง)); // title message.setsubject ("อีเมลเปิดใช้งานอย่างเป็นทางการจาก Zhouzhou Mall"); message.setContent ("<h1> อีเมลเปิดใช้งานอย่างเป็นทางการของห้าง href = 'http: //192.168.21.114: 8080/shop/user_active.action? code = "+code+"'> http://192.168.21.114:8080/shop/user_active "ข้อความ/html; charset = utf-8"); // 3. ส่งอีเมล: transport.send (ข้อความ); } catch (addressException e) {// todo บล็อก catch ที่สร้างอัตโนมัติ e.printstacktrace (); } catch (messagingException e) {// todo บล็อก catch block ที่สร้างอัตโนมัติ e.printstacktrace (); }} โมฆะคงที่สาธารณะหลัก (สตริง [] args) {sendmail ("[email protected]", "รหัสเปิดใช้งานของคุณคือ AZZ19931016"); - เลเยอร์ธุรกิจของผู้ใช้เรียกคลาสนี้เมื่อลงทะเบียนและใช้วิธี SendMail
แพ็คเกจ cn.itcast.shop.user.service; นำเข้า org.springframework.transaction.annotation.transactional; นำเข้า cn.itcast.shop.user.dao.userdao; นำเข้า cn.itcast.shop.user.vo.user; นำเข้า cn.itcast.shop.utils.mailuitls; นำเข้า cn.itcast.shop.utils.uuidutils; // เลเยอร์ธุรกิจ @Transactional คลาสสาธารณะผู้ใช้บริการ {// การติดตั้งวิธีการสอบถามผู้ใช้โดยผู้ใช้ชื่อผู้ใช้ UserDao UserDao; โมฆะสาธารณะ setUserDao (USERDAO USERDAO) {this.USERDAO = USERDAO; } ผู้ใช้สาธารณะ findByUserName (ชื่อผู้ใช้สตริง) {return userdao.findbyusername (ชื่อผู้ใช้); } // เลเยอร์ธุรกิจ: การลงทะเบียนผู้ใช้ที่สมบูรณ์โมฆะบันทึก (ผู้ใช้ผู้ใช้) {// วิธีการที่สร้างอัตโนมัติแบบอัตโนมัติ stub // บันทึกข้อมูลในฐานข้อมูล user.setstate (0); // 1 ถูกเปิดใช้งาน 0 ไม่ได้เปิดใช้งานรหัสสตริง = uuidutils.getUuid () user.setCode (รหัส); userdao.save (ผู้ใช้); // ส่งอีเมลเปิดใช้งาน; mailuitls.sendmail (user.getEmail (), รหัส); } // ตัวค้นหาเลเยอร์ธุรกิจผู้ใช้ตามรหัสเปิดใช้งานรหัสสาธารณะผู้ใช้ findByCode (รหัสสตริง) {ส่งคืน UserDao.FindByCode (รหัส); } // วิธีการแก้ไขสถานะการอัปเดตสถานะสาธารณะของผู้ใช้ (ผู้ใช้มีอยู่) {userdao.update (มีอยู่); } // วิธีการเข้าสู่ระบบเข้าสู่ระบบผู้ใช้สาธารณะ (ผู้ใช้ผู้ใช้) {return userdao.login (ผู้ใช้); -ในที่สุดเอฟเฟกต์นี้ก็ประสบความสำเร็จ:
ข้างต้นเป็นเรื่องเกี่ยวกับบทความนี้ฉันหวังว่ามันจะเป็นประโยชน์กับการเรียนรู้ของทุกคน