แอปพลิเคชันเซิร์ฟเวอร์
(1) คลาส javax.mail.Properties
JavaMail ต้องการคุณสมบัติเพื่อสร้างอ็อบเจ็กต์เซสชัน มันจะค้นหาสตริง "mail.smtp.host" โดยที่ค่าคุณสมบัติคือโฮสต์ที่ใช้ส่งอีเมล
การใช้งาน:
คัดลอกรหัสรหัส ดังต่อไปนี้:
อุปกรณ์ประกอบฉากคุณสมบัติ = คุณสมบัติใหม่ ();
props.put("mail.smtp.host", "smtp.163.com");//คุณสามารถแทนที่ด้วยชื่อโฮสต์ smtp ของคุณได้
คัดลอกรหัสรหัส ดังต่อไปนี้:
อุปกรณ์ประกอบฉากคุณสมบัติ = คุณสมบัติใหม่ ();
props.put("mail.smtp.host", "smtp.163.com");//คุณสามารถแทนที่ด้วยชื่อโฮสต์ smtp ของคุณได้
(2) javax.mail.เซสชันคลาส
คลาสเซสชันนี้แสดงถึงเซสชันอีเมลใน JavaMail ทุกแอปพลิเคชันที่ใช้ JavaMail มีอย่างน้อยหนึ่งเซสชัน แต่สามารถมีเซสชันจำนวนเท่าใดก็ได้ ในตัวอย่างนี้ วัตถุเซสชันจำเป็นต้องทราบเซิร์ฟเวอร์ SMTP ที่ใช้ในการจัดการจดหมาย
การใช้งาน:
คัดลอกรหัสรหัส ดังต่อไปนี้:
เซสชัน sendMailSession;
sendMailSession = Session.getInstance (อุปกรณ์ประกอบฉาก, null);
คัดลอกรหัสรหัส ดังต่อไปนี้:
เซสชัน sendMailSession;
sendMailSession = Session.getInstance (อุปกรณ์ประกอบฉาก, null);
(3) javax.mail.Transport คลาส
จดหมายสามารถส่งและรับได้ JavaMail ใช้คลาสที่แตกต่างกันสองคลาสเพื่อทำให้สองฟังก์ชันนี้สมบูรณ์: Transport และ Store ใช้เพื่อส่งข้อความ และ Store ใช้ในการรับข้อความ สำหรับบทช่วยสอนนี้ เราจำเป็นต้องใช้เฉพาะวัตถุ Transport เท่านั้น
การใช้งาน:
คัดลอกรหัสรหัส ดังต่อไปนี้:
การขนส่งการขนส่ง
การขนส่ง = sendMailSession.getTransport("smtp");
คัดลอกรหัสรหัส ดังต่อไปนี้:
การขนส่งการขนส่ง
การขนส่ง = sendMailSession.getTransport("smtp");
ใช้เมธอด getTransport ของอ็อบเจ็กต์ JavaMail Session เพื่อเริ่มต้น Transport สตริงที่ส่งผ่านจะประกาศโปรโตคอลที่จะใช้โดยอ็อบเจ็กต์ เช่น "smtp" สิ่งนี้จะช่วยเราประหยัดเวลาได้มาก เนื่องจาก JavaMail มีวิธีการใช้งานโปรโตคอลในตัวมากมาย
หมายเหตุ: JavaMail ไม่รองรับทุกโปรโตคอลอย่างแน่นอน ปัจจุบันรองรับ IMAP, SMTP และ POP3
(4) คลาส javax.mail.MimeMessage
ออบเจ็กต์ข้อความจะจัดเก็บข้อความอีเมลจริงที่เราส่งไป ออบเจ็กต์ข้อความถูกสร้างขึ้นเป็นออบเจ็กต์ MimeMessage และจำเป็นต้องทราบว่าควรเลือกเซสชัน JavaMail ใด
การใช้งาน:
คัดลอกรหัสรหัส ดังต่อไปนี้:
ข้อความ newMessage = MimeMessage ใหม่ (sendMailSession);
คัดลอกรหัสรหัส ดังต่อไปนี้:
ข้อความ newMessage = MimeMessage ใหม่ (sendMailSession);
ข้อความ newMessage = MimeMessage ใหม่ (sendMailSession);
(5) คลาส javax.mail.InternetAddress
เมื่อคุณสร้างเซสชันและข้อความและกรอกเนื้อหาด้วยข้อความแล้ว คุณสามารถใช้ที่อยู่เพื่อระบุที่อยู่ของจดหมายได้ เช่นเดียวกับข้อความ ที่อยู่ก็เป็นคลาสนามธรรมเช่นกัน คุณกำลังใช้คลาส Javax.mail.internet.InternetAddress
การใช้งาน:
คัดลอกรหัสรหัส ดังต่อไปนี้:
ที่อยู่อินเทอร์เน็ตจาก=ที่อยู่อินเทอร์เน็ตใหม่("[email protected]");
คัดลอกรหัสรหัส ดังต่อไปนี้:
ที่อยู่อินเทอร์เน็ตจาก=ที่อยู่อินเทอร์เน็ตใหม่("[email protected]");
(6) คลาส javax.mail.Store
คลาส Store ดำเนินการต่างๆ เช่น การอ่าน การเขียน การตรวจสอบ และการค้นหาบนโปรโตคอลอีเมลเฉพาะ คลาส Javax.mail.Folder สามารถเข้าถึงได้ผ่านคลาส Javax.mail.Store
การใช้งาน:
คัดลอกรหัสรหัส ดังต่อไปนี้:
Store store=s.getSorte("pop3");//s เป็นเซสชันอีเมล
store.connect(popserver,username,password);//เข้าสู่ระบบกล่องจดหมายของคุณผ่านที่อยู่ป๊อปอัป ชื่อผู้ใช้ และรหัสผ่านที่คุณให้ไว้
คัดลอกรหัสรหัส ดังต่อไปนี้:
Store store=s.getSorte("pop3");//s เป็นเซสชันอีเมล
store.connect(popserver,username,password);//เข้าสู่ระบบกล่องจดหมายของคุณผ่านที่อยู่ป๊อปอัป ชื่อผู้ใช้ และรหัสผ่านที่คุณให้ไว้
(7) javax.mail.Folder คลาส
คลาสโฟลเดอร์ใช้เพื่อจัดระเบียบอีเมลตามลำดับชั้นและให้ความสามารถในการเข้าถึงอีเมลในรูปแบบ Javax.mail.Message
การใช้งาน:
คัดลอกรหัสรหัส ดังต่อไปนี้:
โฟลเดอร์ โฟลเดอร์=store.getFolder("INBOX");
โฟลเดอร์.เปิด(โฟลเดอร์.READ_ONLY);
คัดลอกรหัสรหัส ดังต่อไปนี้:
โฟลเดอร์ โฟลเดอร์=store.getFolder("INBOX");
โฟลเดอร์.เปิด(โฟลเดอร์.READ_ONLY);
(8) javax.mail.Internet.MimeMultpart
คอนเทนเนอร์ที่บันทึกเนื้อหาอีเมลโดยทั่วไปคือคลาสนามธรรม Multipart ซึ่งกำหนดวิธีการสำหรับการเพิ่ม ลบ และรับส่วนต่างๆ ของอีเมล เนื่องจาก Multipart เป็นคลาสนามธรรม เราจึงต้องใช้คลาสย่อยที่เป็นรูปธรรมสำหรับคลาสนั้น และ JavaMail API ก็มีให้ javax คลาส mail.Internet.MimeMult เพื่อใช้วัตถุ MimeMessage
การใช้งาน:
คัดลอกรหัสรหัส ดังต่อไปนี้:
MimeMultipart multipart=ใหม่ MimeMultipart();
คัดลอกรหัสรหัส ดังต่อไปนี้:
MimeMultipart multipart=ใหม่ MimeMultipart();
หมายเหตุ: วิธีหนึ่งที่เราใช้ออบเจ็กต์ MimeMultipart คือ addBodyPart() ซึ่งเพิ่มออบเจ็กต์ BodyPart (คลาส BodyPart จะแนะนำด้านล่าง) ในเนื้อหาอีเมลของเรา ข้อความสามารถมีได้หลายส่วน และ BodyPart สามารถเป็นตัวแทนส่วนหนึ่งได้
(9) คลาส javax.mail.Internet.MimeBodyPart
MimeBodyPart เป็นคลาสย่อยของ BodyPart ที่ใช้สำหรับ mimeMessage โดยเฉพาะ
วัตถุ MimeBodyPart แสดงถึงส่วนหนึ่งของเนื้อหาของวัตถุ MimeMessage แต่ละ MimeBodyPart จะถือว่ามีสองส่วน:
⊙ประเภท MIME
⊙จับคู่เนื้อหาประเภทนี้
การใช้งาน:
คัดลอกรหัสรหัส ดังต่อไปนี้:
MimeBodyPart mdp=ใหม่ MimeBodyPart();
ข้อความสตริง = "สวัสดี JavaMail!";
mdp.setContent(text,"text/plain");//กำหนดประเภท MIME เป็นข้อความ/ธรรมดา และตั้งค่าเนื้อหาของ MimeBodyPart
คัดลอกรหัสรหัส ดังต่อไปนี้:
MimeBodyPart mdp=ใหม่ MimeBodyPart();
ข้อความสตริง = "สวัสดี JavaMail!";
mdp.setContent(text,"text/plain");//กำหนดประเภท MIME เป็นข้อความ/ธรรมดา และตั้งค่าเนื้อหาของ MimeBodyPart
(10) คลาส javax.activation.DataHandler (รวมอยู่ใน JAF)
JavaMail API ไม่ได้จำกัดข้อความไว้เฉพาะในรูปแบบข้อความเท่านั้น นอกเหนือจากข้อความตัวอักษรแล้ว เป็นเรื่องปกติมากที่จะรวมข้อความเหล่านั้นไว้เป็นไฟล์แนบเป็นส่วนหนึ่งของข้อความอีเมล วิธีที่ช่วยให้เราสามารถใช้วิธีที่สะดวกสำหรับการบรรจุวัตถุ BodyPart ที่ไม่ใช่ข้อความ
การใช้งาน:
คัดลอกรหัสรหัส ดังต่อไปนี้:
DataHandler dh = DataHandler ใหม่ (ข้อความ, ประเภท);
mdp.setDatahandler(dh);//mdp เป็นวัตถุ MimeBodyPart
คัดลอกรหัสรหัส ดังต่อไปนี้:
DataHandler dh = DataHandler ใหม่ (ข้อความ, ประเภท);
mdp.setDatahandler(dh);//mdp เป็นวัตถุ MimeBodyPart
(11) คลาส javax.activation.FileDataSource (รวมอยู่ใน JAF)
วัตถุ FileDataSource สามารถแสดงไฟล์ในเครื่องและทรัพยากรที่สามารถเข้าถึงได้โดยตรงไปยังเซิร์ฟเวอร์ สามารถแนบไฟล์ในเครื่องกับวัตถุ mimeMessage โดยการสร้างวัตถุ MimeBodyPart ใหม่
การใช้งาน:
คัดลอกรหัสรหัส ดังต่อไปนี้:
MimeMultipart mm=ใหม่ MimeMultipart();
MimeBodyPart mdp=ใหม่ MimeBodyPart();
FileDataSource fds=new FileDataSource("c:/exam.txt");
mdp.setDataHandler(ใหม่ DataHandler(fds)); //ตั้งค่าแหล่งข้อมูล
mm.addBodyPart(mdp); //เพิ่ม MimeBodyPart ให้กับวัตถุ MimeMultipart ของข้อความปัจจุบัน
คัดลอกรหัสรหัส ดังต่อไปนี้:
MimeMultipart mm=ใหม่ MimeMultipart();
MimeBodyPart mdp=ใหม่ MimeBodyPart();
FileDataSource fds=new FileDataSource("c:/exam.txt");
mdp.setDataHandler(ใหม่ DataHandler(fds)); //ตั้งค่าแหล่งข้อมูล
mm.addBodyPart(mdp); //เพิ่ม MimeBodyPart ให้กับวัตถุ MimeMultipart ของข้อความปัจจุบัน
(12) คลาส javax.activation.URLDataSource (รวมอยู่ใน JAF)
ทรัพยากรระยะไกลซึ่ง URL ไม่ได้ชี้ไปนั้นจะแสดงด้วยวัตถุ URLDataSource คุณสามารถแนบทรัพยากรระยะไกลกับวัตถุ mimeMessage ได้โดยการสร้างวัตถุ mimeBodyPart ใหม่ (คล้ายกับ FileDataSource)
การใช้งาน:
คัดลอกรหัสรหัส ดังต่อไปนี้:
//ข้อแตกต่างเพียงอย่างเดียวจาก FileDataSource คือการตั้งค่าของแหล่งข้อมูล:
URLDataSource uds=URLDataSource ใหม่("/JAVA/UploadFiles_6441/200703/20070320105128501.gif");