Javamail API กำหนดคลาส java.mail.transport ซึ่งใช้โดยเฉพาะในการดำเนินงานส่งจดหมาย วัตถุอินสแตนซ์ของคลาสนี้สรุปรายละเอียดการใช้งานพื้นฐานของโปรโตคอลการส่งจดหมายบางฉบับ แอปพลิเคชันเรียกใช้วิธีการในคลาสนี้เพื่อส่งข้อมูลเมลที่ห่อหุ้มในวัตถุข้อความไปยังเซิร์ฟเวอร์ SMTP ที่ระบุ ความสัมพันธ์ในการทำงานระหว่าง API หลักที่ออกแบบมาเพื่อส่งจดหมายโดยใช้ Javamail มีดังนี้:
1. รับวัตถุการขนส่งที่ใช้อีเมลบางอย่างส่งโปรโตคอลจากวัตถุเซสชัน
2. ใช้วัตถุเซสชันเพื่อสร้างวัตถุข้อความและเรียกใช้เมธอดวัตถุข้อความเพื่อห่อหุ้มข้อมูลอีเมล
3. เชื่อมต่อกับเซิร์ฟเวอร์ SMTP ที่ระบุและเรียกใช้วิธีการส่งจดหมายในวัตถุการขนส่งเพื่อห่อหุ้มข้อมูลเมลในวัตถุข้อความ
ในบทความที่สองเกี่ยวกับการสร้างอีเมลใน Javamail เราเรียนรู้ที่จะสร้างอีเมล แต่ในเวลานั้นเราเขียนอีเมลไปยังดิสก์ท้องถิ่นของเรา ต่อไปเราใช้คลาสการขนส่งที่จัดทำโดย Javamail API เพื่อส่งอีเมล
นำเข้า java.util.date; นำเข้า java.util.properties; นำเข้า Javax.mail.message; นำเข้า Javax.mail.session; นำเข้า Javax.mail.transport; นำเข้า Javax.mail.internet.internet.internet.internet.internet.internet. โยนข้อยกเว้น {สตริงจาก = "[email protected]"; String to = "[email protected]"; String subject = "test"; สตริงตัว = "ทดสอบ !!!"; String smtphost = "smtp.qq.com"; คุณสมบัติอุปกรณ์ประกอบฉาก = คุณสมบัติใหม่ (); props.setProperty ("mail.transport.protocol", "smtp"); // โปรโตคอลที่ใช้ (ต้องการโดยข้อกำหนด Javamail) props.setProperty ("mail.smtp.host", smtphost); // ที่อยู่เซิร์ฟเวอร์ SMTP ของกล่องจดหมายของผู้ส่งคือ props.setProperty ("mail.smtp.auth", "true"); // ขอการรับรองความถูกต้องชื่อพารามิเตอร์เกี่ยวข้องกับการใช้งานเฉพาะ // สร้างเซสชันอินสแตนซ์ออบเจ็กต์เซสชันเซสชัน = เซสชัน. getDefaultInstance (อุปกรณ์ประกอบฉาก); // สร้าง messemessage อินสแตนซ์ messemessage message message = new mimeMessage (เซสชัน); // ตั้งค่า message.set.setFrom (InternetAddress ใหม่ (จาก)); // ตั้งค่าข้อความผู้รับสัญญาณ (message.recipienttype.to, internetaddress.parse (ถึง)); // ตั้งค่าส่งข้อความวันที่ SetSentDate (วันที่ใหม่ ()); // ตั้งค่าข้อความหัวเรื่องอีเมล SetsUbject (หัวเรื่อง); // ตั้งค่าข้อความร่างกายอีเมล SETTEXT (ร่างกาย); // ตั้งค่าข้อความเนื้อหาข้อความธรรมดา settext (body); // บันทึกและสร้างข้อความเนื้อหาอีเมลสุดท้าย savechanges (); // ตั้งค่าเป็นโหมดดีบักคุณสามารถดูรายละเอียดการส่งบันทึกเซสชัน SetDebug (จริง); // รับการขนส่งวัตถุการขนส่ง = session.getTransport ("SMTP"); // พารามิเตอร์ที่สองจะต้องกรอกในรหัสการอนุญาต SMTP ของกล่องจดหมาย QQ รหัสการอนุญาตคืออะไรและตั้งไว้อย่างไร? Transport.Connect (จาก, "******************"); // ส่ง, message.getAllRecipients () ได้รับผู้รับทั้งหมดเพิ่มเมื่อสร้างวัตถุอีเมล, CC และส่งข้อความ (ข้อความ, message.getAllRecipients ()); Transport.close (); -หมายเหตุ: บริการ SMTP จะต้องเปิดใช้งานสำหรับบัญชีอีเมล
การส่งรหัสเมลที่ซับซ้อนด้วยทรัพยากรที่ฝังตัวหรือไฟล์แนบนั้นคล้ายกับในบทความที่สองใน Javamail เพื่อสร้างอีเมลยกเว้นว่าขั้นตอนในการเขียนไปยังฮาร์ดดิสก์จะถูกแทนที่ด้วยบรรทัด 42-47 ในรหัสด้านบน
ข้างต้นเป็นเนื้อหาทั้งหมดของบทความนี้ ฉันหวังว่ามันจะเป็นประโยชน์ต่อการเรียนรู้ของทุกคนและฉันหวังว่าทุกคนจะสนับสนุน wulin.com มากขึ้น