ส่งอีเมลผ่าน Javamail สำหรับการอ้างอิงของคุณ เนื้อหาเฉพาะมีดังนี้
หมายเหตุ: บางพอร์ตบนเซิร์ฟเวอร์ไม่เปิดและจำเป็นต้องเปิดพอร์ต ที่อยู่อีเมลบางแห่งจำเป็นต้องเปิดใช้งานบริการการอนุญาตที่สอดคล้องกัน
1. การพึ่งพา Maven:
<!-https://mvnrepository.com/artifact/javax.mail/javax.mail-api-> <cendency> <sdeperency> <sdependency> <sderctId> javax.mail </groupid> <ArtIfactId> Mail </ArtifactId> > javax.mail </artifactid> </derctency>
2. สร้างคลาสเอนทิตีใหม่เพื่อบันทึกข้อมูล
นำเข้า java.util.properties; MailSenderInfo ระดับสาธารณะ {// IP (หรือที่อยู่โฮสต์) ของเซิร์ฟเวอร์ที่ส่งจดหมายส่วนตัว MailServerHost จดหมายส่วนตัว // พอร์ตของเซิร์ฟเวอร์ที่ส่งจดหมายสตริงส่วนตัวจดหมายจดหมาย; // ที่อยู่อีเมลผู้ส่งสตริงส่วนตัวจากที่อยู่; // ที่อยู่อีเมลของผู้รับสตริงส่วนตัว toaddress; // ชื่อผู้ใช้ของอีเมลเข้าสู่ระบบส่งเซิร์ฟเวอร์ส่วนตัวสตริงชื่อผู้ใช้ชื่อ; // รหัสผ่านของอีเมลเข้าสู่ระบบส่งรหัสผ่านสตริงส่วนตัวเซิร์ฟเวอร์; // ไม่ว่าจะจำเป็นต้องมีการตรวจสอบสิทธิ์ในการตรวจสอบแบบบูลีนส่วนตัว = true; // อีเมลหัวเรื่องส่วนตัวเรื่องสตริง; // เนื้อหาข้อความของเนื้อหาสตริงส่วนตัวจดหมาย; // ชื่อไฟล์ของสตริงส่วนตัวที่แนบมาจดหมาย [] attachFilenames; คุณสมบัติสาธารณะ getProperties () {คุณสมบัติ p = คุณสมบัติใหม่ (); p.put ("mail.smtp.host", this.mailserverhost); p.put ("mail.smtp.port", this.mailserverport); // ตั้งค่าว่าจะตรวจสอบอย่างปลอดภัยค่าเริ่มต้นเป็นเท็จและตั้งค่าเป็น TRUE ใน P.PUT ทั่วไป ("Mail.SMTP.AUTH", "TRUE"); p.put ("mail.smtp.starttls.enable", "true"); p.put ("mail.smtp.enablessl.enable", "true"); กลับ P; } สตริงสาธารณะ getMailServerHost () {return mailServerHost; } โมฆะสาธารณะ setMailServerHost (String MailServerHost) {this.mailServerHost = MailServerHost; } สตริงสาธารณะ getMailServerPort () {return mailServerPort; } โมฆะสาธารณะ setMailServerPort (สตริง MailServerPort) {this.mailServerport = MailServerPort; } บูลีนสาธารณะ isValidate () {return ตรวจสอบ; } โมฆะสาธารณะ setValidate (การตรวจสอบบูลีน) {this.validate = ตรวจสอบ; } สตริงสาธารณะ [] getattachfilenames () {return attachfilenames; } โมฆะสาธารณะ setattachfilenames (สตริง [] ชื่อไฟล์) {this.attachfilenames = ชื่อไฟล์; } สตริงสาธารณะ getFromaddress () {return fromaddress; } โมฆะสาธารณะ setFromAddress (สตริง FromAddress) {this.fromaddress = fromAddress; } สตริงสาธารณะ getPassword () {ส่งคืนรหัสผ่าน; } โมฆะสาธารณะ setPassword (รหัสผ่านสตริง) {this.password = รหัสผ่าน; } สตริงสาธารณะ getToaddress () {return toaddress; } โมฆะสาธารณะ setToaddress (String toaddress) {this.toaddress = toaddress; } สตริงสาธารณะ getUserName () {ส่งคืนชื่อผู้ใช้; } โมฆะสาธารณะ setUserName (ชื่อผู้ใช้สตริง) {this.userName = ชื่อผู้ใช้; } สตริงสาธารณะ getSubject () {return subject; } โมฆะสาธารณะ setSubject (หัวเรื่องสตริง) {this.subject = หัวเรื่อง; } สตริงสาธารณะ getContent () {return content; } โมฆะสาธารณะ setContent (String textContent) {this.content = textContent; -3. สร้างตัวตรวจสอบความถูกต้อง
นำเข้า Javax.mail.authenticator; นำเข้า javax.mail.passwordauthentication; / *** Mail Mail ชื่อผู้ใช้และรหัสผ่าน Authenticator*/ คลาสสาธารณะ Myauthenticator ขยาย Authenticator {String username = null; สตริงรหัสผ่าน = null; สาธารณะ myauthenticator () {} myauthenticator สาธารณะ (ชื่อผู้ใช้สตริง, รหัสผ่านสตริง) {this.username = ชื่อผู้ใช้; this.password = รหัสผ่าน; } passwardauthentication getPasswordauthentication () {ส่งคืนรหัสผ่านใหม่ (ชื่อผู้ใช้รหัสผ่าน); - 4. กำหนดค่าให้กับคลาสเอนทิตีที่การโทร
อีเมลโมฆะส่วนตัว (เซสชัน httpsession, string email) {// ตั้งค่าข้อมูลเซิร์ฟเวอร์อีเมล mailsenderinfo mailinfo = new MailsenderInfo (); MailInfo.SetMailServerHost ("smtp--mail.outlook.com"); // IP (หรือที่อยู่โฮสต์) ของเซิร์ฟเวอร์ที่ส่ง Mail MailInfo.SetMailServerPort ("587"); // บางพอร์ตไม่เปิดบนเซิร์ฟเวอร์ ที่นี่คุณต้องให้ความสนใจกับ MailInfo.SetValidate (จริง); // อีเมลชื่อผู้ใช้ (ตั้งค่าตามสถานการณ์ของคุณเอง) ที่นี่คุณสามารถรับอีเมลอีกสองสามฉบับเพื่อหลีกเลี่ยงบัญชีอีเมลที่ต้องการการยืนยันหรือได้รับการปฏิบัติเป็นการห้ามจดหมายสแปม ความล้มเหลวในการใช้ b mailinfo.setUserName ("กรอกอีเมลที่สอดคล้องกับเซิร์ฟเวอร์อีเมลด้านบน"); // รหัสผ่านอีเมล (ตั้งค่าตามสถานการณ์ของคุณเอง) MailInfo.SetPassword ("นี่คือรหัสผ่านของคุณ"); // อีเมลผู้ส่ง (ตั้งค่าตามสถานการณ์ของคุณเองหากคุณไม่ได้ตั้งค่าอีเมลโดยเฉพาะมันควรจะเหมือนกับชื่อผู้ใช้อีเมล) MailInfo.SetFromaddress ("นี่เหมือนกับข้างต้น"); // อีเมลผู้รับ (ตั้งค่าตามสถานการณ์ของคุณเอง) MailInfo.Settoaddress (อีเมล); // ชื่ออีเมลชื่อ MailInfo.SetSubject ("I am the title"); // อีเมลเนื้อหา MailInfo.SetContent ("ฉันเป็นเนื้อหาเนื้อหาที่จริงจังไม่ใช่สแปม"); // ส่งอีเมล SimpleMailSender SMS = New SimpleMailSender (); // ส่งรูปแบบข้อความ sms.sendtextmail (MailInfo); - 5. นี่คือการส่งอีเมลจริง
คลาสสาธารณะ SimpleMailSender {Public Boolean SendTextMail (MailSenderInfo MailInfo) {// ตรวจสอบว่าจำเป็นต้องมีการรับรองความถูกต้องของตัวตนว่า myauthenticator Authenticator = null; Properties Pro = MailInfo.getProperties (); if (mailInfo.isvalidate ()) {// ถ้าจำเป็นต้องมีการรับรองความถูกต้องของตัวตนให้สร้าง Authenticator Authenticator = ใหม่ myauthenticator (mailInfo.getUserName (), mailInfo.getPassword ()); } // สร้างเซสชันเซสชันสำหรับการส่งอีเมลตามคุณสมบัติเซสชันเมลและรหัสผ่าน Authenticator SendMailSession = Session.getDefaultInstance (Pro, Authenticator); ลอง {// สร้างข้อความจดหมายตามข้อความเซสชัน MextMessage = new mimeMessage (SendMailSession); // สร้างผู้ส่งที่อยู่ข้อความจดหมายจาก = new InternetAddress (mailInfo.getFromAddress ()); // ตั้งค่าผู้ส่งข้อความจดหมาย MailMessage.SetFrom (จาก); // สร้างที่อยู่ผู้รับของข้อความจดหมายและตั้งค่าเป็นที่อยู่ข้อความจดหมายเป็น = new InternetAddress (mailInfo.getToaddress ()); mailMessage.SetRecipient (message.recipientType.to, ถึง); // ตั้งค่าหัวเรื่องของข้อความ Mailmessage.setsubject (mailinfo.getSubject ()); // ตั้งค่าเวลาสำหรับการส่งข้อความจดหมาย MailMessage.SetSentDate (วันที่ใหม่ ()); // ตั้งค่าเนื้อหาหลักของสตริงข้อความเมล MailContent = MailInfo.getContent (); MailMessage.Settext (MailContent); MailMessage.savechanges (); // ส่ง MailTransport.Send (MailMessage); กลับมาจริง; } catch (messagingException ex) {ex.printStackTrace (); } return false; -ข้างต้นเป็นเนื้อหาทั้งหมดของบทความนี้ ฉันหวังว่ามันจะเป็นประโยชน์ต่อการเรียนรู้ของทุกคนและฉันหวังว่าทุกคนจะสนับสนุน wulin.com มากขึ้น