Skip to content

要在Java中发送电子邮件,您可以使用JavaMail API。以下是一个简单的示例代码,演示如何使用JavaMail API发送电子邮件:

import java.util.Properties;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;

public class EmailSender {
    public static void main(String[] args) {
        // 配置SMTP服务器和认证信息
        String host = "smtp.example.com";  // SMTP服务器地址
        int port = 587;  // SMTP服务器端口号
        String username = "your_username";  // 发件人邮箱用户名
        String password = "your_password";  // 发件人邮箱密码

        // 创建属性对象并设置邮件会话所需的属性
        Properties props = new Properties();
        props.put("mail.smtp.auth", "true");
        props.put("mail.smtp.starttls.enable", "true");
        props.put("mail.smtp.host", host);
        props.put("mail.smtp.port", port);

        // 创建邮件会话对象
        Session session = Session.getInstance(props, null);

        try {
            // 创建MimeMessage对象并设置发件人、收件人、主题和正文
            MimeMessage message = new MimeMessage(session);
            message.setFrom(new InternetAddress(username));
            message.addRecipient(Message.RecipientType.TO, new InternetAddress("recipient@example.com"));
            message.setSubject("Hello from JavaMail");
            message.setText("This is a test email.");

            // 发送邮件
            Transport transport = session.getTransport("smtp");
            transport.connect(host, port, username, password);
            transport.sendMessage(message, message.getAllRecipients());
            transport.close();

            System.out.println("Email sent successfully.");
        } catch (MessagingException e) {
            e.printStackTrace();
        }
    }
}

请确保将示例中的smtp.example.com替换为您要使用的实际 SMTP 服务器地址,并提供正确的发件人用户名和密码。还需要将 "recipient@example.com" 替换为收件人的电子邮件地址。

此外,您需要下载并添加 JavaMail API JAR 文件到您的项目中。您可以从 Oracle 官方网站(https://www.oracle.com/java/technologies/javamail.html)上获取 JavaMail API。