Rumah > Java > javaTutorial > Bagaimanakah Aplikasi Java Boleh Menghantar E-mel melalui Gmail, Yahoo atau Hotmail?

Bagaimanakah Aplikasi Java Boleh Menghantar E-mel melalui Gmail, Yahoo atau Hotmail?

Susan Sarandon
Lepaskan: 2024-12-23 22:56:14
asal
567 orang telah melayarinya

How Can Java Applications Send Emails via Gmail, Yahoo, or Hotmail?

Menghantar E-mel Menggunakan GMail, Yahoo atau Hotmail dalam Aplikasi Java

Soalan:

Bolehkah aplikasi Java menggunakan akaun e-mel seperti GMail, Yahoo, atau Hotmail untuk menghantar e-mel? Bagaimanakah ini boleh dicapai?

Jawapan:

Langkah 1: Import JavaMail API

Sebelum meneruskan, pastikan anda telah memuat turun dan menambah balang API JavaMail yang diperlukan pada anda classpath.

Langkah 2: Konfigurasi GMail

Coretan kod Java berikut menunjukkan penghantaran e-mel menggunakan akaun GMail:

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

public class Main {

    private static String USER_NAME = "*****"; // GMail user name (before "@gmail.com")
    private static String PASSWORD = "********"; // GMail password
    private static String RECIPIENT = "[email protected]";

    public static void main(String[] args) {
        String from = USER_NAME;
        String pass = PASSWORD;
        String[] to = { RECIPIENT }; // List of recipient email addresses
        String subject = "Java send mail example";
        String body = "Welcome to JavaMail!";

        sendFromGMail(from, pass, to, subject, body);
    }

    private static void sendFromGMail(String from, String pass, String[] to, String subject, String body) {
        Properties props = System.getProperties();
        String host = "smtp.gmail.com";
        props.put("mail.smtp.starttls.enable", "true");
        props.put("mail.smtp.host", host);
        props.put("mail.smtp.user", from);
        props.put("mail.smtp.password", pass);
        props.put("mail.smtp.port", "587");
        props.put("mail.smtp.auth", "true");

        Session session = Session.getDefaultInstance(props);
        MimeMessage message = new MimeMessage(session);

        try {
            // Set email properties
            message.setFrom(new InternetAddress(from));

            // Create InternetAddress array for recipients
            InternetAddress[] toAddress = new InternetAddress[to.length];
            for (int i = 0; i < to.length; i++) {
                toAddress[i] = new InternetAddress(to[i]);
            }

            // Set recipients
            for (InternetAddress addr : toAddress) {
                message.addRecipient(Message.RecipientType.TO, addr);
            }

            // Set subject and body
            message.setSubject(subject);
            message.setText(body);

            // Establish connection and send email
            Transport transport = session.getTransport("smtp");
            transport.connect(host, from, pass);
            transport.sendMessage(message, message.getAllRecipients());
            transport.close();
        } catch (AddressException ae) {
            ae.printStackTrace();
        } catch (MessagingException me) {
            me.printStackTrace();
        }
    }
}
Salin selepas log masuk

Nota: Gantikan USER_NAME, KATA LALUAN, PENERIMA, subjek, dan pembolehubah badan dengan nilai yang sesuai.

Pertimbangan Tambahan:

  • Pengendalian ralat yang betul dalam blok tangkapan harus dilaksanakan.
  • Anda mungkin perlu melaraskan kod untuk pembekal e-mel yang berbeza dengan mengemas kini alamat pelayan (hos) dan port (cth., untuk Yahoo: host="smtp.mail.yahoo.com" dan port="587").

Atas ialah kandungan terperinci Bagaimanakah Aplikasi Java Boleh Menghantar E-mel melalui Gmail, Yahoo atau Hotmail?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan