Để gửi một e-mail bằng cách sử dụng Ứng dụng Lập trình Java của bạn là đủ đơn giản nhưng để bắt đầu với bạn nên có Java Mail API và Java Activation Framework (JAF) được cài đặt trên máy của bạn.
Bạn có thể tải xuống phiên bản Java Mail (Phiên bản 1.2) mới nhấttừ trang web chuẩn của Java.
Bạn có thể tải xuống phiên bản mới nhất của JAF (Phiên bản 1.1.1)từ trang web chuẩn của Java.
Tải xuống và giải nén các tệp này, trong các thư mục cấp cao nhất mới được tạo, bạn sẽ tìm thấy một số tệp jar cho cả hai ứng dụng. Bạn cần thêm các tệp mail.jar và activation.jar trong CLASSPATH của bạn.
Thí dụ
Nếu bạn muốn gửi e-mail đến nhiều người nhận thì các phương thức sau sẽ được sử dụng để chỉ định nhiều ID email
địa chỉ - Đây là một mảng ID email. Bạn sẽ cần sử dụng phương thức InternetAddress () trong khi chỉ định ID email.
Ví dụ này rất giống với ví dụ trước, ngoại trừ ở đây chúng tôi đang sử dụng phương thức setContent () để đặt nội dung có đối số thứ hai là "text / html" để xác định rằng nội dung HTML được bao gồm trong thư.
Sử dụng ví dụ này, bạn có thể gửi lớn như nội dung HTML mà bạn thích.
Thí dụ
Thí dụ
Phần còn lại của cơ chế gửi e-mail sẽ vẫn như đã giải thích ở trên.
![]() |
Học lập trình Java |
Bạn có thể tải xuống phiên bản Java Mail (Phiên bản 1.2) mới nhấttừ trang web chuẩn của Java.
Bạn có thể tải xuống phiên bản mới nhất của JAF (Phiên bản 1.1.1)từ trang web chuẩn của Java.
Tải xuống và giải nén các tệp này, trong các thư mục cấp cao nhất mới được tạo, bạn sẽ tìm thấy một số tệp jar cho cả hai ứng dụng. Bạn cần thêm các tệp mail.jar và activation.jar trong CLASSPATH của bạn.
Gửi một e-mail đơn giản
Đây là một ví dụ để gửi một e-mail đơn giản từ máy của bạn. Giả sử rằng localhost của bạn được kết nối với Internet và đủ khả năng để gửi e-mail.Thí dụ
// File Name SendEmail.java import java.util.*; import javax.mail.*; import javax.mail.internet.*; import javax.activation.*; public class SendEmail { public static void main(String [] args) { // Recipient's email ID needs to be mentioned. String to = "abcd@gmail.com"; // Sender's email ID needs to be mentioned String from = "web@gmail.com"; // Assuming you are sending email from localhost String host = "localhost"; // Get system properties Properties properties = System.getProperties(); // Setup mail server properties.setProperty("mail.smtp.host", host); // Get the default Session object. Session session = Session.getDefaultInstance(properties); try { // Create a default MimeMessage object. MimeMessage message = new MimeMessage(session); // Set From: header field of the header. message.setFrom(new InternetAddress(from)); // Set To: header field of the header. message.addRecipient(Message.RecipientType.TO, new InternetAddress(to)); // Set Subject: header field message.setSubject("This is the Subject Line!"); // Now set the actual message message.setText("This is actual message"); // Send message Transport.send(message); System.out.println("Sent message successfully...."); } catch (MessagingException mex) { mex.printStackTrace(); } } }Biên dịch và chạy chương trình này để gửi một e-mail đơn giản
Đầu ra
$ java SendEmail
Sent message successfully....
Nếu bạn muốn gửi e-mail đến nhiều người nhận thì các phương thức sau sẽ được sử dụng để chỉ định nhiều ID email
void addRecipients(Message.RecipientType type, Address[] addresses)
throws MessagingException
Dưới đây là mô tả các tham số
loại - Điều này sẽ được đặt thành TO, CC hoặc BCC. Ở đây CC đại diện cho Carbon Copy và BCC đại diện cho Black Carbon Copy. Ví dụ: Message.RecipientType.TOđịa chỉ - Đây là một mảng ID email. Bạn sẽ cần sử dụng phương thức InternetAddress () trong khi chỉ định ID email.
Gửi e-mail HTML
Đây là một ví dụ để gửi một e-mail HTML từ máy của bạn. Ở đây nó được giả định rằng localhost của bạn được kết nối với Internet và đủ khả năng để gửi một e-mail.Ví dụ này rất giống với ví dụ trước, ngoại trừ ở đây chúng tôi đang sử dụng phương thức setContent () để đặt nội dung có đối số thứ hai là "text / html" để xác định rằng nội dung HTML được bao gồm trong thư.
Sử dụng ví dụ này, bạn có thể gửi lớn như nội dung HTML mà bạn thích.
Thí dụ
// File Name SendHTMLEmail.java import java.util.*; import javax.mail.*; import javax.mail.internet.*; import javax.activation.*; public class SendHTMLEmail { public static void main(String [] args) { // Recipient's email ID needs to be mentioned. String to = "abcd@gmail.com"; // Sender's email ID needs to be mentioned String from = "web@gmail.com"; // Assuming you are sending email from localhost String host = "localhost"; // Get system properties Properties properties = System.getProperties(); // Setup mail server properties.setProperty("mail.smtp.host", host); // Get the default Session object. Session session = Session.getDefaultInstance(properties); try { // Create a default MimeMessage object. MimeMessage message = new MimeMessage(session); // Set From: header field of the header. message.setFrom(new InternetAddress(from)); // Set To: header field of the header. message.addRecipient(Message.RecipientType.TO, new InternetAddress(to)); // Set Subject: header field message.setSubject("This is the Subject Line!"); // Send the actual HTML message, as big as you like message.setContent("<h1>This is actual message</h1>", "text/html"); // Send message Transport.send(message); System.out.println("Sent message successfully...."); } catch (MessagingException mex) { mex.printStackTrace(); } } }Biên dịch và chạy chương trình này để gửi một e-mail HTML
Đầu ra
$ java SendHTMLEmail
Sent message successfully....
Gửi tập tin đính kèm trong E-mail
Dưới đây là một ví dụ để gửi e-mail có tệp đính kèm từ máy của bạn. Ở đây nó được giả định rằng localhost của bạn được kết nối với internet và đủ khả năng để gửi một e-mail.Thí dụ
// File Name SendFileEmail.java import java.util.*; import javax.mail.*; import javax.mail.internet.*; import javax.activation.*; public class SendFileEmail { public static void main(String [] args) { // Recipient's email ID needs to be mentioned. String to = "abcd@gmail.com"; // Sender's email ID needs to be mentioned String from = "web@gmail.com"; // Assuming you are sending email from localhost String host = "localhost"; // Get system properties Properties properties = System.getProperties(); // Setup mail server properties.setProperty("mail.smtp.host", host); // Get the default Session object. Session session = Session.getDefaultInstance(properties); try { // Create a default MimeMessage object. MimeMessage message = new MimeMessage(session); // Set From: header field of the header. message.setFrom(new InternetAddress(from)); // Set To: header field of the header. message.addRecipient(Message.RecipientType.TO,new InternetAddress(to)); // Set Subject: header field message.setSubject("This is the Subject Line!"); // Create the message part BodyPart messageBodyPart = new MimeBodyPart(); // Fill the message messageBodyPart.setText("This is message body"); // Create a multipar message Multipart multipart = new MimeMultipart(); // Set text message part multipart.addBodyPart(messageBodyPart); // Part two is attachment messageBodyPart = new MimeBodyPart(); String filename = "file.txt"; DataSource source = new FileDataSource(filename); messageBodyPart.setDataHandler(new DataHandler(source)); messageBodyPart.setFileName(filename); multipart.addBodyPart(messageBodyPart); // Send the complete message parts message.setContent(multipart ); // Send message Transport.send(message); System.out.println("Sent message successfully...."); } catch (MessagingException mex) { mex.printStackTrace(); } } }Biên dịch và chạy chương trình này để gửi một e-mail HTML
Đầu ra
$ java SendFileEmail
Sent message successfully....
Phần xác thực người dùng
Nếu được yêu cầu cung cấp ID người dùng và Mật khẩu cho máy chủ e-mail cho mục đích xác thực, thì bạn có thể đặt các thuộc tính này như sau:props.setProperty("mail.user", "myuser");
props.setProperty("mail.password", "mypwd");
Phần còn lại của cơ chế gửi e-mail sẽ vẫn như đã giải thích ở trên.
Không có nhận xét nào:
Đăng nhận xét