“ฉันเอง—อีกแล้ว และอีกครั้ง ฉันมีอะไรจะเซอร์ไพรส์คุณนิดหน่อย”
"วันนี้ผมจะมาสอนวิธีการส่งอีเมลโดยใช้ Java "
"เรามาเริ่มกันที่ข่าวดี: Java มีไลบรารีเนทีฟสำหรับการทำงานกับอีเมล "
"ข่าวร้ายคือไลบรารีนี้เป็นส่วนหนึ่งของJava EEไม่ใช่Java SE "
" Java EEเป็นเวอร์ชันเสริมของJavaSEซึ่งรวมถึงคลาสที่จำเป็นสำหรับแอปพลิเคชันที่มีคุณลักษณะดีกว่า ตัวอย่างเช่น แอปพลิเคชันสำหรับการทำงานกับอีเมล"
“เข้าใจแล้ว แล้วจะทำอะไรต่อล่ะ”
"ฉันขอแนะนำให้คุณดาวน์โหลดห้องสมุดนี้และเพียงแค่นั้น"
"ใช้ IntelliJ IDEA อย่างชาญฉลาด"
"สร้างคลาสและเพิ่ม ไลบรารี javax.mail.*และjavax.mail.internet.*ลงในส่วนนำเข้า
"จากนั้นกดAlt+Enterแล้วปล่อยให้IDEAทำทุกอย่างให้คุณ:
"ข้อเสนอในการดาวน์โหลดไลบรารีที่ขาดหายไปมีลักษณะดังนี้:"
"นี่คือลักษณะของหน้าต่างดาวน์โหลด:"
"หรือดาวน์โหลดได้ที่นี่ "
"ดาวน์โหลดแล้ว จะทำอย่างไรต่อไป"
"คุณต้องไปที่การตั้งค่าโครงการ (เปิดการตั้งค่าโมดูล) ไปที่ส่วน Libraries และเพิ่มไฟล์ JAR จากไฟล์เก็บถาวรที่ดาวน์โหลดมา"
"เสร็จแล้ว."
"บรรทัดต่อไปนี้ไม่เป็นสีแดงแล้วหรือ"
import javax.mail.internet.MimeMessage;
import javax.mail.internet.*;
"ใช่."
“ดีมาก งั้นเราไปกันต่อเลย”
"มีสามขั้นตอนในการส่งอีเมล"
1) สร้างการเชื่อมต่อกับเซิร์ฟเวอร์อีเมลที่จะใช้เพื่อส่งอีเมล
2) สร้างอีเมลและเพิ่มไฟล์แนบหากจำเป็น
3) ส่งอีเมล
"ให้เริ่มต้นจากจุดเริ่มต้น."
"ในการส่งอีเมลใน Java คุณต้องสร้างการเชื่อมต่อกับเซิร์ฟเวอร์อีเมลก่อน"
"จะเป็นการดีที่สุดถ้าคุณมีบัญชีอีเมลบนเซิร์ฟเวอร์อยู่แล้วเซิร์ฟเวอร์อีเมลสมัยใหม่ไม่ต้องการส่งข้อความจากผู้ใช้ที่ไม่ระบุตัวตน กังวลเกี่ยวกับสแปม "
"คุณสามารถเชื่อมต่อกับเซิร์ฟเวอร์ด้วยการเรียกใช้เมธอด javax.mail.Session.getDefaultInstance เพียงครั้งเดียว:"
Properties props = new Properties();
// Here we need to load data into the props object
Session session = Session.getDefaultInstance(props);
"แต่คุณต้องผ่านการตั้งค่าเซิร์ฟเวอร์อีเมลไปยังวิธีนี้"
"ตัวอย่างเช่น คุณสามารถสร้างไฟล์ Mail.properties และเติมด้วยการตั้งค่าที่ต้องการ เช่น อะไรทำนองนี้:"
mail.transport.protocol=smtp
mail.host=smtp.gmail.com
mail.smtp.auth=true
mail.user=arnold@gmail.com
mail.password=strong
"สิ่งที่สำคัญที่สุดคือการระบุโปรโตคอลและโฮสต์ แต่คุณอาจต้องตั้งค่าเพิ่มเติม ขึ้นอยู่กับวิธีการทำงานของเซิร์ฟเวอร์อีเมล"
"คุณสามารถเพิ่มข้อมูลนี้ไปยังวัตถุ Properties ในโค้ด Java ของคุณ"
"ตัวอย่างเช่น:"
Properties props = new Properties();
props.put("mail.transport.protocol", "smtps");
props.put("mail.smtps.host", “smtp.gmail.com”);
props.put("mail.smtps.auth", "true");
props.put("mail.smtp.sendpartial", "true");
Session session = Session.getDefaultInstance(props);
"เยี่ยม เรามีเซสชัน ตอนนี้เรามาสร้างอีเมลกัน"
"สิ่งนี้ทำได้ง่ายกว่าที่เห็นในแวบแรก ตัวอย่างเช่น:"
// Create a message
MimeMessage message = new MimeMessage(session);
// Set the message subject
message.setSubject("Test email!");
// Add the message text
message.setText("Asta la vista, baby!");
// Specify the recipient
message.addRecipient(Message.RecipientType.TO, new InternetAddress("stalone@gmail.com"));
// Specify the delivery date
message.setSentDate(new Date());
"ฉันสามารถระบุที่อยู่อีเมลใดก็ได้เป็นผู้รับ"
"ใช่ ยิ่งไปกว่านั้นคุณยังสามารถระบุที่อยู่อีเมลใดก็ได้เป็นผู้ส่ง"
"เจ๋ง! ฉันจะพิจารณาเรื่องนี้"
"ตอนนี้เราต้องส่งข้อความนี้"
"ขั้นแรก เราลงชื่อเข้าใช้เซิร์ฟเวอร์ จากนั้นเราส่งข้อความของเรา โค้ดเพียงสองบรรทัด:"
// Username and password for a Gmail account
String userLogin = “arnold@gmail.com”;
String userPassword = “strong”;
// Sign in on the server:
Transport transport = session.getTransport();
transport.connect("smtp.gmail.com", 465, userLogin, userPassword);
// Send a message:
transport.sendMessage(message, message.getRecipients(Message.RecipientType.TO));
"น่าสนใจยังไงล่ะ! ฉันต้องลองดูแล้วล่ะ"
"หากคุณสงสัยว่าจะส่งข้อความพร้อมไฟล์แนบได้อย่างไร คุณสามารถอ่านได้ที่นี่ "
"หากคุณต้องการทราบวิธีการรับจดหมาย โปรดดูที่นี่ "
"Holy moly ลิงค์ที่มีประโยชน์อะไร!"
"ใช่ ฉันจะสร้างไคลเอนต์อีเมลของฉันเอง เจ๋ง!"
"ขอบคุณ เอลลี่!"
GO TO FULL VERSION