• Skip to main content
  • Bỏ qua primary sidebar
  • Bài học Toán lớp 1
  • Học tiếng Anh
  • CNTT
  • Giáo dục
  • Nghe Nhạc

Học hỏi Net

Mạng học hỏi cho học sinh và cuộc sống

Bạn đang ở:Trang chủ / Lập trình Java / Gửi Email trong Java

Gửi Email trong Java

04/03/2021 by Minh Đạo

Gửi một Email sử dụng Ứng dụng Java là đơn giản, và để bắt đầu, bạn nên có JavaMail API và Java Activation Framework (JAF) được cài đặt trên thiết bị của bạn.

  • Bạn có thể tải phiên bản mới nhất của JavaMail (Version 1.2) từ Website chuẩn của Java.

  • Bạn có thể tải phiên bản mới nhất của JAF (Version 1.1.1) từ Website chuẩn của Java.

Download và unzip những file này, trong các thư mục cấp độ cao nhất đã được tạo mới nhất, bạn sẽ tìm thấy một số jar file cho cả hai ứng dụng. Bạn cần thêm các file là mail.jar và activation.jar vào trong CLASSPATH của bạn.

1. Gửi một Email đơn giản trong Java

Dưới đây là ví dụ để gửi một Email đơn giản từ thiết bị của bạn. Giả sử rằng localhost của bạn được kết nối internet và có khả năng để gửi một Email.

// TenFile SendEmail.java

import java.util. * ;
import javax.mail. * ;
import javax.mail.internet. * ;
import javax.activation. * ;

public class SendEmail {
  public static void main(String[] args) {
    // Email ID cua nguoi nhan can duoc de cap den.
    String to = "abcd@gmail.com";

    // Email ID cua nguoi gui can duoc de cap den
    String from = "web@gmail.com";

    // Gia su ban dang gui email tu localhost
    String host = "localhost";

    // Lay cac system properties
    Properties properties = System.getProperties();

    // Thiet lap mail server
    properties.setProperty("mail.smtp.host", host);

    // Lay doi tuong Session mac dinh.
    Session session = Session.getDefaultInstance(properties);

    try {
      // Tao mot doi tuong MimeMessage mac dinh.
      MimeMessage message = new MimeMessage(session);

      // Set From: header field.
      message.setFrom(new InternetAddress(from));

      // Set To: header field.
      message.addRecipient(Message.RecipientType.TO, new InternetAddress(to));

      // Set Subject: header field
      message.setSubject("Day la dong Subject!");

      // Bay gio thiet lap message thuc su
      message.setText("Day la message thuc su");

      // Send message
      Transport.send(message);
      System.out.println("Gui message thanh cong....");
    } catch(MessagingException mex) {
      mex.printStackTrace();
    }
  }
}

Biên dịch và chạy chương trình trên sẽ gửi một Email đơn giản trong Java:

$ java SendEmail
Gui message thanh cong....

Nếu bạn muốn gửi một Email tới nhiều người nhận, thì phương thức sau sẽ được sử dụng để xác định nhiều Email ID:

void addRecipients(Message.RecipientType type, 
                   Address[] addresses)
throws MessagingException

Miêu tả về tham số của phương thức trên trong Java:

  • type: Nó sẽ được thiết lập là TO, CC hoặc BCC. Với CC biểu diễn Carbon Copy và BCC biểu diễn Black Carbon Copy. Ví dụ: Message.RecipientType.TO

  • addresses: Đây là mảng của Email ID. Bạn sẽ cần sử dụng phương thức InternetAdderss() trong khi xác định các Email ID.

2. Gửi một HTML Email trong Java

Ví dụ dưới đây để gửi một HTML Email trong Java từ thiết bị của bạn. Giả sử rằng localhost của bạn được kết nối internet và có khả năng để gửi một Email.

Ví dụ này tương tự như ví dụ trước, ngoại trừ, ở đây chúng ta sử dụng phương thức setContent() để thiết lập content của tham số thứ hai là “text/htm” để xác định rằng nội dung HTML được bao trong thông báo.

Sử dụng ví dụ này, bạn có thể gửi nội dung HTML lớn bao nhiêu tùy thích.

// 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) {

    // Email ID cua nguoi nhan can duoc de cap.
    String to = "abcd@gmail.com";

    // Email ID cua nguoi gui can duoc de cap
    String from = "web@gmail.com";

    // Gia su ban gui email tu localhost
    String host = "localhost";

    // Lay system properties
    Properties properties = System.getProperties();

    // Thiet lap mail server
    properties.setProperty("mail.smtp.host", host);

    // Lay doi tuong Session mac dinh.
    Session session = Session.getDefaultInstance(properties);

    try {
      // Tao doi tuong MimeMessage mac dinh.
      MimeMessage message = new MimeMessage(session);

      // Set From: header field.
      message.setFrom(new InternetAddress(from));

      // Set To: header field.
      message.addRecipient(Message.RecipientType.TO, new InternetAddress(to));

      // Set Subject: header field
      message.setSubject("Day la dong Subject!");

      // Send the actual HTML message, as big as you like
      message.setContent("

", "text/html"); // Send message Transport.send(message); System.out.println("Gui message thanh cong...."); } catch(MessagingException mex) { mex.printStackTrace(); } } }

Biên dịch và chạy chương trình này để gửi một HTML Email:

$ java SendHTMLEmail
Gui message thanh cong....

3. Gửi đính kèm trong Email trong Java

Ví dụ này để gửi một Email với đính kèm (attachment) trong Java từ thiết bị của bạn. Giả sử rằng localhost của bạn được kết nối internet và có khả năng để gửi một Email.

// 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) {

    // Email ID cua nguoi nhan can duoc de cap.
    String to = "abcd@gmail.com";

    // Email ID cua nguoi gui can duoc de cap
    String from = "web@gmail.com";

    // Gia su ban gui email tu localhost
    String host = "localhost";

    // Lay system properties
    Properties properties = System.getProperties();

    // Thiet lap mail server
    properties.setProperty("mail.smtp.host", host);

    // Lay doi tuong Session mac dinh.
    Session session = Session.getDefaultInstance(properties);

    try {
      // Tao doi tuong MimeMessage mac dinh.
      MimeMessage message = new MimeMessage(session);

      // Set From: header field.
      message.setFrom(new InternetAddress(from));

      // Set To: header field.
      message.addRecipient(Message.RecipientType.TO, new InternetAddress(to));

      // Set Subject: header field
      message.setSubject("Day la dong Subject!");

      // Tao message 
      BodyPart messageBodyPart = new MimeBodyPart();

      // Phan than message
      messageBodyPart.setText("Day la phan than message");

      // Tao mot multipar message
      Multipart multipart = new MimeMultipart();

      // Thiet lap phan text message
      multipart.addBodyPart(messageBodyPart);

      // Phan hai la attachment
      messageBodyPart = new MimeBodyPart();
      String filename = "file.txt";
      DataSource source = new FileDataSource(filename);
      messageBodyPart.setDataHandler(new DataHandler(source));
      messageBodyPart.setFileName(filename);
      multipart.addBodyPart(messageBodyPart);

      // Gui cac phan day du cua message
      message.setContent(multipart);

      // Gui message
      Transport.send(message);
      System.out.println("Gui message thanh cong....");
    } catch(MessagingException mex) {
      mex.printStackTrace();
    }
  }
}

Biên dịch và thực thi chương trình này để gửi một Email với đính kèm:

$ java SendFileEmail
Gui message thanh cong....

4. Xác nhận người dùng trong Java

Nếu nó được yêu cầu để cung cấp ID và Password người sử dụng tới một Email Server với mục đích xác nhận, thì bạn có thể thiết lập các thuộc tính này như sau:

props.setProperty("mail.user", "myuser");
props.setProperty("mail.password", "mypwd");

Trên đây là bài viết của eLib.VN về gửi Email trong Java. Hy vọng với những kiến thức trên bạn đọc có thể áp dụng vào quá trình học lập trình Java của mình để tạo ra những đoạn code tối ưu nhất. Chúc các bạn thành công!

Thuộc chủ đề:Lập trình Java Tag với:Java

Bài liên quan:

  1. Tạo Javadoc
  2. Cơ bản về Applet trong Java
  3. Thread trong Java
  4. Lập trình mạng Socket trong Java
  5. Serialization trong Java
  6. Generic trong Java
  7. Custom Exception trong Java
  8. ExceptionHandling và Ghi đè phương thức trong Java
  9. Từ khóa throws trong Java
  10. Từ khóa throw trong Java

Sidebar chính

Bài viết mới

  • Giải bài tập Toán lớp 3 Bài: Luyện tập chung 17/03/2021
  • Giải bài tập Toán lớp 3 Bài: Ôn tập về giải toán 17/03/2021
  • Giải bài tập Toán lớp 3 Bài: Ôn tập về hình học 17/03/2021
  • Giải bài tập Toán lớp 3 Bài: Ôn tập về đại lượng 17/03/2021
  • Giải bài tập Toán lớp 3 Bài: Ôn tập bốn phép tính trong phạm vi 100000 17/03/2021

Chuyên mục

  • Bài học Công nghệ 6 (32)
  • Bài học Công Nghệ 7 (60)
  • Bài học Địa lý 6 (27)
  • Bài học Địa lý 7 (61)
  • Bài học GDCD 6 (18)
  • Bài học GDCD 7 (18)
  • Bài học Lịch sử 6 (23)
  • Bài học Lịch sử 7 (29)
  • Bài học Ngữ Văn 6 (97)
  • Bài học Ngữ Văn 7 (101)
  • Bài học Sinh 6 (50)
  • Bài học Sinh 7 (61)
  • Bài học Tiếng Việt lớp 5 (258)
  • Bài học Tin học 6 (30)
  • Bài học Tin học 7 (23)
  • Bài học Toán 6 (67)
  • Bài học Toán 7 (54)
  • Bài học Toán lớp 1 (61)
  • Bài học Toán lớp 2 (92)
  • Bài học Toán lớp 3 (75)
  • Bài học Toán lớp 4 (63)
  • Bài học Toán lớp 5 (57)
  • Bài học Vật lý 6 (30)
  • Bài học Vật lý 7 (30)
  • CNTT (3)
  • Family and Friends 1 (62)
  • Family and Friends 2 (80)
  • Family and Friends 3 (80)
  • Family and Friends 4 (84)
  • Family and Friends 5 (76)
  • Giải SGK Tiếng Anh 5 mới (67)
  • Giải SGK Tiếng Anh 6 mới (102)
  • Giải SGK Tiếng Anh 7 mới (98)
  • Giải SGK Tiếng Anh lớp 3 (68)
  • Giải SGK Tiếng Anh lớp 4 (68)
  • Giải SGK Toán 3 (77)
  • Giáo dục (178)
  • Học tiếng Anh (105)
  • Lập trình HTML và CSS (83)
  • Lập trình Java (110)
  • Nghe Nhạc (1)
  • Tiếng Anh lớp 1 Macmillan (24)
  • Tiếng Anh lớp 2 Macmillan (23)
  • Tiếng Việt lớp 5 sách VNEN (105)

Copyright © 2021 · Hocz.Net.
Hoc Tap vn - Học Trắc nghiệm - Học Giải - Môn Toán - Sách toán - eBook Toán - Giai Bai tap hay - Lop 12