อีเมลอยู่ในชีวิตประจำวัน บทความนี้ส่วนใหญ่แนะนำวิธีการส่งอีเมลของ Java ตาม SMTP มันวิเคราะห์ทักษะที่เกี่ยวข้องของการส่งอีเมลของ Java ตามบริการ SMTP มันมีค่าอ้างอิงที่แน่นอน เพื่อนที่ต้องการมันสามารถอ้างถึงมันได้
1. เขียนคลาส MailSendProper เพื่อห่อหุ้มคุณสมบัติที่ต้องการ
นำเข้า java.util.properties; MailSendProper ระดับสาธารณะ {โฮสต์สตริงส่วนตัว; // พอร์ตสตริงส่วนตัว IP ของเซิร์ฟเวอร์การส่งจดหมาย; // หมายเลขพอร์ตของสตริงเซิร์ฟเวอร์ส่วนตัวส่ง SendAddress; // ที่อยู่ของผู้ส่งจดหมายสตริงส่วนตัวรับ deceiveaddress; // ที่อยู่ของผู้รับจดหมายส่วนตัวชื่อผู้ใช้สตริงส่วนตัว; // เข้าสู่ระบบเพื่อส่งชื่อผู้ใช้กล่องจดหมาย; // เข้าสู่ระบบเพื่อส่งรหัสผ่านกล่องจดหมายบูลีนส่วนตัว isValidate = true; // ไม่ว่าจะจำเป็นต้องมีการรับรองความถูกต้องของสตริงส่วนตัวหรือไม่ // ชื่ออีเมลชื่อสตริงส่วนตัว; // เนื้อหาอีเมลสตริงสาธารณะ getSubject () {return subject; } โมฆะสาธารณะ setSubject (หัวเรื่องสตริง) {this.subject = หัวเรื่อง; } สตริงสาธารณะ getContent () {return content; } โมฆะสาธารณะ setContent (เนื้อหาสตริง) {this.content = เนื้อหา; } สตริงสาธารณะ gethost () {return host; } โมฆะสาธารณะ sethost (โฮสต์สตริง) {host = host; } Public String getPort () {พอร์ต return; } โมฆะสาธารณะ setport (พอร์ตสตริง) {พอร์ต = พอร์ต; } สตริงสาธารณะ getSendaddress () {return sendaddress; } โมฆะสาธารณะ setSendaddress (สตริง sendaddress) {sendaddress = sendaddress; } สตริงสาธารณะ getReceiveAddress () {return teamiveAddress; } โมฆะสาธารณะ setReceiveAddress (String teamiveAddress) {รับ receiveAddress = รับ deceiveAddress; } สตริงสาธารณะ getUserName () {ส่งคืนชื่อผู้ใช้; } โมฆะสาธารณะ setUserName (ชื่อผู้ใช้สตริง) {this.userName = ชื่อผู้ใช้; } สตริงสาธารณะ getPassword () {ส่งคืนรหัสผ่าน; } โมฆะสาธารณะ setPassword (รหัสผ่านสตริง) {this.password = รหัสผ่าน; } บูลีนสาธารณะ isisvalidate () {return isvalidate; } โมฆะสาธารณะ setisvalidate (บูลีน isValidate) {this.isvalidate = isValidate; } คุณสมบัติสาธารณะ getProperties () {คุณสมบัติคุณสมบัติ = คุณสมบัติใหม่ (); Properties.put ("mail.smtp.host", this.host); Properties.put ("mail.smtp.port", this.port); Properties.put ("mail.smtp.auth", isvalidate? "true": "false"); คุณสมบัติกลับ; -2. เขียนอีเมลเพื่อห่อหุ้มข้อมูลการส่ง
Public Class EmailMessage {ชื่อสตริงส่วนตัว; บริบทสตริงส่วนตัว สตริงส่วนตัว toemail; Public EmailMessage () {super (); } public EmailMessage (ชื่อสตริง, บริบทสตริง, สตริง toEmail) {super (); this.title = title; this.context = บริบท; this.toemail = toemail; } สตริงสาธารณะ getTitle () {return title; } โมฆะสาธารณะ settitle (ชื่อสตริง) {this.title = title; } สตริงสาธารณะ getContext () {กลับบริบท; } โมฆะสาธารณะ setContext (บริบทสตริง) {this.context = บริบท; } สตริงสาธารณะ getToEmail () {return toEmail; } โมฆะสาธารณะ SettoEmail (String toEmail) {this.toEmail = toEmail; -3. เขียนคลาสอีเมลตรวจสอบรหัสผ่าน Mailattorney
นำเข้า javax.mail.authenticator; นำเข้า Javax.mail.passwordauthentication; Mailattorney ชั้นเรียนสาธารณะขยาย Authenticator {ชื่อผู้ใช้สตริงส่วนตัว; รหัสผ่านสตริงส่วนตัว Public Mailattorney (ชื่อผู้ใช้สตริง, รหัสผ่านสตริง) {this.userName = ชื่อผู้ใช้; this.password = รหัสผ่าน; } // แทนที่รหัสผ่านที่ได้รับการป้องกัน getPasswordauthentication () {ส่งคืนรหัสผ่านใหม่ (ชื่อผู้ใช้รหัสผ่าน); -4. เขียนคลาสเครื่องมือจดหมายเมลเซนด์
นำเข้า java.util.date; นำเข้า javax.mail.address; นำเข้า Javax.mail.message นำเข้า Javax.mail.session; นำเข้า Javax.mail.transport; นำเข้า Javax.mail.internet.internetAddress; {Public Static Boolean MailTest (MailSendProper MailSender) {Mailattorney Attorney = NULL; if (mailsender.isisvalidate ()) {// พิจารณาว่าจำเป็นต้องมีการรับรองความถูกต้องของตัวตนหรือไม่ = New Mailattorney (mailsender.getUserName (), mailsender.getPassword ()); } // สร้างเซสชันมุมมองสำหรับการส่งกล่องจดหมายตามแอตทริบิวต์เซสชันกล่องจดหมายและตัวตรวจสอบรหัสผ่าน เซสชัน = เซสชัน. getInstance (mailsender.getProperties (), ทนายความ); // สร้างข้อความจดหมายตามข้อความเซสชัน MEASSTAGEMESSAGE = ใหม่ MIMEMESSAGE (เซสชัน); ลอง {// สร้างที่อยู่ของผู้ส่งที่อยู่กล่องจดหมายจาก = new InternetAddress (mailsender.getSendaddress ()); // ตั้งค่าผู้ส่งข้อความ Mailbox Mailmessage.SetFrom (จาก); // สร้างที่อยู่เพื่อรับสิ่งนี้จากข้อความเมลและตั้งค่าเป็นที่อยู่ข้อความจดหมายเป็น = new InternetAddress (mailsender.getReceiveAddress ()); mailMessage.SetRecipient (message.recipientType.to, ถึง); mailMessage.SetSUbject (mailsender.getSubject ()); // ตั้งชื่อจดหมาย MailMessage.SetSentDate (วันที่ใหม่ ()); // ตั้งค่าการส่ง TimeMessage.settext (mailsender.getContent ()); // ตั้งค่าการขนส่งเนื้อหาจดหมายส่ง (MailMessage); กลับมาจริง; } catch (exception e) {e.printstacktrace (); กลับเท็จ; }} public boolean sendemail (ข้อความอีเมล Message) {MailSendProper Mail = new MailSendProper (); mail.sethost ("smtp.126.com"); // โปรโตคอลการส่งจดหมายง่าย ๆ ของ SMTP หมายเลขพอร์ตเริ่มต้นคือ 25, mail.setport ("25"); mail.setisvalidate (จริง); // ต้องการการตรวจสอบความถูกต้อง mail.setUserName (""); // ตั้งค่าชื่อผู้ใช้เข้าสู่ระบบ SetSetPassword (""); // ตั้งค่ารหัสผ่านของผู้ส่ง Mail.setSendaddress (""); // ตั้งค่าที่อยู่ของการส่งผู้ส่งนี้และชื่อผู้ใช้เข้าสู่ระบบเป็น mail.setReceiveAddress (message.getToEmail ()); // ตั้งค่าที่อยู่ของผู้รับ Mail.setSubject (message.getTitle ()); // ตั้งชื่อ Mailbox Title.SetContent (message.getContext ()); // ตั้งค่าเนื้อหาของ Mailbox Return MailTest (Mail); -หมายเหตุ: ที่อยู่อีเมลที่ใช้จะต้องเปิดใช้งานสำหรับบริการ POP3/SMTP ที่จะส่งสำเร็จ ที่อยู่อีเมลและที่อยู่อีเมลที่แตกต่างกันมีโปรโตคอลการส่งที่แตกต่างกันเช่น:
QQ อีเมล: โปรโตคอลการส่ง SMTP คือ smtp.qq.com พอร์ต 25 พอร์ต 25
โปรโตคอลการส่ง POP3 คือ POP3.QQ.com พอร์ต 110
5. ใช้วิธีการทดสอบ
โมฆะคงที่สาธารณะหลัก (สตริง [] args) {message message message = new EmailMessage (); String code = string.valueof (math.random ()). substring (3, 9); // สร้างข้อความการยืนยันรหัส Settitle ("การตรวจสอบอีเมล"); // อีเมลชื่อเรื่อง SetContext ("สวัสดีผู้ใช้ที่รักรหัสยืนยันของคุณคือ"+รหัส+"."); // อีเมลเนื้อหาเนื้อหา SettoEmail ("[email protected]"); // ใครจะส่งไปที่ system.out.println (mailsend.sendemail (ข้อความ)? "sendsuccess": "sendfailed");}ฉันหวังว่าบทความนี้จะเป็นประโยชน์กับทุกคนในการเรียนรู้การเขียนโปรแกรม Java