บทความก่อนหน้านี้การแนะนำไปยัง Javamail ในบทความที่สามเพื่อส่งอีเมลเราได้เรียนรู้วิธีการใช้คลาสการขนส่งโดย Javamail API เพื่อส่งอีเมล ในทำนองเดียวกัน Javamail API ยังมีคลาสพิเศษบางอย่างเพื่อดำเนินการที่เกี่ยวข้องกับการรับอีเมล ก่อนที่จะแนะนำชั้นเรียนเหล่านี้ก่อนอื่นให้เข้าใจสถาปัตยกรรมของ API การรับอีเมล Javamail API กำหนดคลาส java.mail.store ซึ่งใช้ในการดำเนินงานการรับอีเมล เราเรียกวิธีการในคลาสนี้ในโปรแกรมเพื่อรับข้อมูลเกี่ยวกับแต่ละโฟลเดอร์เมลในกล่องจดหมาย Javamail ใช้วัตถุโฟลเดอร์เพื่อแสดงโฟลเดอร์เมล ผ่านวิธีการวัตถุโฟลเดอร์ข้อมูลอีเมลทั้งหมดในโฟลเดอร์เมลสามารถรับได้ เรารู้ว่าข้อมูลของอีเมลสามารถแสดงโดยวัตถุข้อความ คลาสข้อความมีวิธีการต่าง ๆ ในการใช้งานอีเมลเช่นการได้รับผู้ส่งหัวเรื่องเนื้อหาร่างกายเวลาส่ง ฯลฯ ความสัมพันธ์ในการทำงานของพวกเขามีดังนี้:
1. รับวัตถุร้านค้าที่ใช้อีเมลบางอย่างส่งโปรโตคอลจากวัตถุเซสชัน
2. เข้าสู่ระบบที่อยู่อีเมลและเชื่อมต่อกับเซิร์ฟเวอร์ POP3 หรือ IMAP4
3. โทรหาวิธี getFolder ของร้านค้าเพื่อรับวัตถุโฟลเดอร์ของโฟลเดอร์เมลบางตัวในกล่องจดหมาย;
4. โทรหาวิธี getMessage หรือ getMessages ในวัตถุโฟลเดอร์เพื่อรับอีเมลหรืออีเมลทั้งหมดในโฟลเดอร์เมล อีเมลแต่ละฉบับจะถูกส่งคืนเป็นวัตถุข้อความ
ต่อไปเราใช้คลาสข้างต้นเพื่อรับอีเมล
นำเข้า java.util.properties; นำเข้า javax.mail.address; นำเข้า Javax.mail.folder; นำเข้า Javax.mail.message นำเข้า Javax.mail.session; นำเข้า Javax.mail.store; mailreceives class pop3server = "pop.qq.com"; String Protocol = "POP3"; String username = "[email protected]"; สตริงรหัสผ่าน = "****************"; // รหัสการอนุญาต SMTP ของกล่องจดหมาย QQ รหัสการอนุญาตคืออะไรและตั้งค่าอย่างไร คุณสมบัติอุปกรณ์ประกอบฉาก = คุณสมบัติใหม่ (); props.setProperty ("mail.transport.protocol", โปรโตคอล); // โปรโตคอลที่ใช้ (ต้องการโดยข้อกำหนด Javamail) props.setProperty ("mail.smtp.host", pop3server); // ที่อยู่เซิร์ฟเวอร์ SMTP ของกล่องจดหมายของผู้ส่ง // รับเซสชันการเชื่อมต่อ = session.getDefaultInstance (อุปกรณ์ประกอบฉาก); session.setDebug (เท็จ); // รับร้านค้า Object Store = Session.getStore (โปรโตคอล); store.connect (pop3server, ชื่อผู้ใช้, รหัสผ่าน); // การรับรองความถูกต้องของการเข้าสู่ระบบของเซิร์ฟเวอร์ POP3 // เมื่อได้รับวัตถุร้านค้าผ่านโปรโตคอล POP3 ชื่อโฟลเดอร์เมลสามารถระบุได้ว่าเป็นโฟลเดอร์ "กล่องจดหมาย" เท่านั้น = store.getFolder ("inbox"); // รับโฟลเดอร์บัญชีอีเมลของผู้ใช้ OPEN (Folder.Read_Write); // ตั้งค่าการเข้าถึงข้อความบัญชีจดหมาย [] messages = folder.getMessages (); // รับข้อความทั้งหมดในบัญชีเมลสำหรับ (ข้อความข้อความ: ข้อความ) {สตริงหัวเรื่อง = message.getSubject (); // รับที่อยู่อีเมลจาก = (ที่อยู่) ข้อความ System.out.println ("เนื้อหาของข้อความคือ:"); message.writeto (System.out); // ส่งออกเนื้อหาอีเมลไปยังคอนโซล} โฟลเดอร์. close (เท็จ); // ปิดโฟลเดอร์ออบเจ็กต์ store.close (); // ปิดวัตถุการเชื่อมต่อ}}
ผลการออกคอนโซล:
คุณจะเห็นได้ว่าคอนโซลส่งออกเนื้อหาต้นฉบับของอีเมลซึ่งยังไม่ได้แยกวิเคราะห์ดังนั้นจึงต้องแยกวิเคราะห์ก่อนอ่าน บทความถัดไปบทนำสู่ Javamail บทที่ 5 การแยกวิเคราะห์อีเมลจะอธิบายวิธีการแยกวิเคราะห์อีเมล
ข้างต้นเป็นเนื้อหาทั้งหมดของบทความนี้ ฉันหวังว่ามันจะเป็นประโยชน์ต่อการเรียนรู้ของทุกคนและฉันหวังว่าทุกคนจะสนับสนุน wulin.com มากขึ้น