ทุกวันนี้อีเมลมีบทบาทสำคัญมากขึ้นเรื่อย ๆ ในชีวิตของเราและเราแต่ละคนจะจัดการกับมัน (อย่างน้อยเป็นครั้งคราวที่เราได้รับสแปมที่อธิบายไม่ได้) ในที่ทำงานการใช้อีเมลเพื่อสื่อสารสามารถทำให้การทำงานของเราตรวจสอบย้อนกลับและเป็นทางการได้มากขึ้น สิ่งนี้ดำเนินการโดยเราด้วยตนเอง ในชีวิตหลังจากลงทะเบียนบัญชีบนเว็บไซต์เว็บไซต์จะส่งอีเมลต้อนรับโดยอัตโนมัติและขอให้เรายืนยันว่าจะลงทะเบียนเพื่อป้องกันการลงทะเบียนที่เป็นอันตรายหรือไม่ แน่นอนว่านี่เป็นไปไม่ได้ที่จะใช้งานด้วยตนเองเหมือนที่เราทำงาน Javamail ใน 13 เทคโนโลยีหลักของ Java ให้ APIs ให้เราทำงานที่เกี่ยวข้องกับอีเมล
1. เซิร์ฟเวอร์เมล
ในการจัดเตรียมฟังก์ชั่นอีเมลบนอินเทอร์เน็ตจะต้องมีเซิร์ฟเวอร์อีเมลเฉพาะ เซิร์ฟเวอร์อีเมลจำนวนมากถูกตั้งค่าบนอินเทอร์เน็ต ตัวอย่างเช่นเว็บไซต์เช่น Sina.com, QQ.com, 163.com ให้บริการเซิร์ฟเวอร์อีเมลฟรีสำหรับสาธารณะและหลาย บริษัท ยังให้บริการเซิร์ฟเวอร์อีเมลสำหรับพนักงานภายในซึ่งสามารถส่งและรับอีเมลจากกันและกัน ฟังก์ชั่นของเซิร์ฟเวอร์เมลคืออะไร? สามารถช่วยเราส่งอีเมลรับอีเมลและให้บริการรับจดหมาย สิ่งนี้คล้ายกับที่ทำการไปรษณีย์ในชีวิตจริง ไม่เพียง แต่จะได้รับอีเมล แต่ยังให้บริการสำหรับเราในการรับอีเมลและยังช่วยเราส่งอีเมล รูปภาพต่อไปนี้แสดงฟังก์ชั่นของเซิร์ฟเวอร์เมลอย่างชัดเจน
(1) รับอีเมลที่ผู้ใช้ส่งมอบ;
(2) ส่งต่ออีเมลที่ส่งโดยผู้ใช้ไปยังเซิร์ฟเวอร์เมลเป้าหมาย
(3) รับอีเมลที่ส่งต่อโดยเซิร์ฟเวอร์อีเมลอื่น ๆ และจัดเก็บอีเมลในกล่องจดหมายของผู้ใช้ที่พวกเขาจัดการ
(4) ให้บริการการอ่านแก่ผู้ใช้ที่มาอ่านอีเมล
เซิร์ฟเวอร์เมลสามารถแบ่งออกเป็นสองประเภทตามโปรโตคอลการสื่อสาร: เซิร์ฟเวอร์ SMTP และเซิร์ฟเวอร์ POP3/IMAP ฟังก์ชั่น 1, 2 และ 3 ในรูปด้านบนเสร็จสมบูรณ์โดยเซิร์ฟเวอร์ SMTP ในขณะที่ฟังก์ชั่น 4 เสร็จสมบูรณ์โดยเซิร์ฟเวอร์ POP3
2. อีเมล
สามารถเปิดที่อยู่อีเมลได้หลายแห่งในเซิร์ฟเวอร์อีเมลแต่ละเครื่อง ที่อยู่อีเมลเรียกว่าที่อยู่อีเมล มันคล้ายกับที่อยู่ทางไปรษณีย์ในชีวิตจริง ผู้ใช้สามารถรับอีเมลจากผู้อื่นและส่งอีเมลไปยังผู้อื่นผ่านที่อยู่นี้ การได้รับอีเมลต้องใช้บนเซิร์ฟเวอร์เมล เพื่อความแม่นยำอีเมลเป็นบัญชีที่ผู้ใช้ใช้กับเซิร์ฟเวอร์เมล เซิร์ฟเวอร์เมลจะบันทึกอีเมลที่ได้รับไปยังพื้นที่กล่องจดหมายที่จัดสรรสำหรับบัญชีบางบัญชี (ดังนั้นเราจำเป็นต้องทำความสะอาดอีเมลของเราเป็นประจำมิฉะนั้นเราจะไม่สามารถรับจดหมายใหม่ได้หากพื้นที่ที่จัดสรรเกินพื้นที่ที่จัดสรร) ผู้ใช้เข้าสู่ระบบเซิร์ฟเวอร์อีเมลเพื่อตรวจสอบข้อความอีเมลที่ได้รับจากที่อยู่ผ่านชื่อผู้ใช้และรหัสผ่านที่เขาร้องขอ
3. กระบวนการส่งอีเมล
กระบวนการส่งอีเมลสามารถแสดงได้ด้วยรูปต่อไปนี้
คำอธิบายกระบวนการของเส้นทึบในรูปด้านบน:
1. หลังจากไคลเอนต์เมลของ [email protected] สร้างการเชื่อมต่อเครือข่ายกับเซิร์ฟเวอร์ SMTP ของ Sina เข้าสู่ระบบด้วยชื่อผู้ใช้และรหัสผ่านของ Lisi และใช้โปรโตคอล SMTP เพื่อส่งอีเมลไปยังเซิร์ฟเวอร์ SMTP ของ Sina;
2 หลังจากได้รับอีเมลที่อยู่ที่ส่งโดย [email protected] เซิร์ฟเวอร์ SMTP ของ SINA เป็นครั้งแรกจะกำหนดว่าที่อยู่อีเมลของผู้รับอยู่ภายในเขตอำนาจศาลของเซิร์ฟเวอร์ SMTP ตามคำต่อท้ายที่อยู่ของผู้รับหรือไม่ ถ้าเป็นเช่นนั้นจดหมายจะถูกจัดเก็บโดยตรงในที่อยู่อีเมลของผู้รับ มิฉะนั้นเซิร์ฟเวอร์ SMTP ของ SINA จะสอบถามเซิร์ฟเวอร์ DNS สำหรับบันทึก MX ของชื่อโดเมนที่แสดงโดยคำต่อท้ายของที่อยู่อีเมลของผู้รับ (sohu.com) เพื่อรับข้อมูลเซิร์ฟเวอร์ SMTP ของ SOHU จากนั้นสร้างการเชื่อมต่อกับเซิร์ฟเวอร์ SMTP ของ SMTP SMTP SMTP
3. หลังจากเซิร์ฟเวอร์ SMTP ของ SOHO ได้รับอีเมลจากเซิร์ฟเวอร์ SMTP ของ SINA แล้วมันจะพิจารณาว่าอีเมลอยู่ในเขตอำนาจศาลของเซิร์ฟเวอร์ SMTP ตามที่อยู่ของผู้รับหรือไม่ ถ้าเป็นเช่นนั้นจัดเก็บอีเมลโดยตรงในกล่องจดหมายของผู้รับ มิฉะนั้นเซิร์ฟเวอร์ SMTP ของ Sohu อาจส่งต่ออีเมลต่อไป
4. บัญชี [email protected] สร้างการเชื่อมต่อเครือข่ายกับเซิร์ฟเวอร์ POP3/IMAP ของ SOHO ผ่านทางไคลเอนต์และหลังจากเข้าสู่ระบบได้สำเร็จจากนั้นตรวจสอบว่ามีอีเมลใหม่ใน [email protected] ส่งอีเมลผ่านโปรโตคอล POP3/IMAP หรือไม่ ถ้าเป็นเช่นนั้นให้ใช้โปรโตคอล POP3 หรือ IMAP เพื่ออ่านอีเมลในกล่องจดหมาย
กระบวนการเส้นประนั้นคล้ายกับกระบวนการของ Solid Line และจะไม่ทำซ้ำอีกต่อไป
Javamail API เป็นแพ็คเกจการพัฒนามาตรฐานที่ Sun นำมาใช้เพื่ออำนวยความสะดวกให้กับนักพัฒนา Java ในการส่งและรับจดหมายโซลิดไลน์ในแอปพลิเคชัน รองรับโปรโตคอลเมลที่ใช้กันทั่วไปเช่น SMTP, POP3, IMAP และ MIME ในการใช้ API นี้แน่นอนคุณต้องดาวน์โหลดแพ็คเกจ JAR ที่เกี่ยวข้องก่อน เวอร์ชันล่าสุดคือ 1.5.6, ที่อยู่ดาวน์โหลด: https://java.net/projects/javamail/pages/home
Javamail API มักจะแบ่งออกเป็นสามประเภทต่อไปนี้ตามฟังก์ชั่นของมัน:
1. API สำหรับการสร้างและแยกวิเคราะห์เนื้อหาอีเมล: คลาสข้อความเป็นหลัก API สำหรับการสร้างและแยกวิเคราะห์อีเมลและวัตถุอินสแตนซ์แสดงถึงอีเมล
2. API สำหรับการส่งอีเมล: คลาสการขนส่งเป็นคลาส Core API สำหรับการส่งอีเมล วัตถุอินสแตนซ์ของมันแสดงถึงวัตถุที่ส่งจดหมายที่ใช้โปรโตคอลการส่งอีเมลบางอย่างเช่นโปรโตคอล SMTP
3. API สำหรับการรับอีเมล: คลาสร้านค้าเป็นคลาส Core API สำหรับการรับอีเมล วัตถุอินสแตนซ์แสดงถึงวัตถุที่ได้รับอีเมลที่ใช้โปรโตคอลที่ได้รับอีเมลบางอย่างเช่นโปรโตคอล POP3
คลาสเซสชัน:
คลาสเซสชันใช้เพื่อกำหนดข้อมูลสภาพแวดล้อมที่แอปพลิเคชันทั้งหมดต้องการรวมถึงการรวบรวมข้อมูลเซสชันสำหรับลูกค้าในการสร้างการเชื่อมต่อเครือข่ายกับเซิร์ฟเวอร์เมลเช่นชื่อโฮสต์หมายเลขพอร์ตและการส่งและรับโปรโตคอลการส่งจดหมาย วัตถุเซสชันสร้างวัตถุการขนส่งและจัดเก็บวัตถุสำหรับการส่งจดหมายและการต้อนรับตามข้อมูลนี้และให้การสนับสนุนข้อมูลเมื่อสร้างวัตถุข้อความสำหรับลูกค้า
ความสัมพันธ์ของคลาส 4 ข้างต้นมีดังนี้:
เนื้อหาข้างต้นส่วนใหญ่ตัดตอนมาจากหนังสือ "คำอธิบายรายละเอียดของการพัฒนาจดหมาย Java" บทความถัดไปของ Javamail บทความที่สองสร้างอีเมลจะแนะนำวิธีการสร้างอีเมลโดยใช้ API ที่จัดทำโดย Javamail