Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

java smtp发送邮件

作者:农村混血兒   发布日期:2026-02-01   浏览:60

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

public class SendEmail {

    public static void main(String[] args) {
        // 邮件服务器配置
        String host = "smtp.example.com";  // SMTP服务器地址
        final String user = "your-email@example.com";  // 发件人邮箱
        final String password = "your-password";  // 发件人邮箱密码或授权码

        // 收件人邮箱
        String toEmail = "recipient@example.com";
        String subject = "测试邮件";
        String body = "这是一封通过Java发送的测试邮件。";

        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", "587");

        // 创建会话
        Session session = Session.getInstance(props, new Authenticator() {
            protected PasswordAuthentication getPasswordAuthentication() {
                return new PasswordAuthentication(user, password);
            }
        });

        try {
            // 创建邮件消息
            MimeMessage message = new MimeMessage(session);
            message.setFrom(new InternetAddress(user));
            message.addRecipient(Message.RecipientType.TO, new InternetAddress(toEmail));
            message.setSubject(subject);
            message.setText(body);

            // 发送邮件
            Transport.send(message);
            System.out.println("邮件发送成功!");
        } catch (MessagingException e) {
            e.printStackTrace();
            System.out.println("邮件发送失败!");
        }
    }
}

解释说明:

  1. SMTP服务器配置host 是 SMTP 服务器的地址,userpassword 分别是发件人的邮箱地址和密码(或授权码)。
  2. 收件人信息toEmail 是收件人的邮箱地址,subject 是邮件主题,body 是邮件正文内容。
  3. Properties对象:用于设置 SMTP 协议的相关参数,如是否需要身份验证、是否启用 TLS 加密等。
  4. Session对象:通过 Session.getInstance() 方法创建一个邮件会话,并传入 Authenticator 对象用于身份验证。
  5. MimeMessage对象:用于构建邮件内容,包括发件人、收件人、主题和正文。
  6. Transport.send():用于发送邮件,如果发送成功则输出 "邮件发送成功!",否则捕获异常并输出错误信息。

如果你在实际使用中遇到问题,确保你的 SMTP 服务器地址、端口、邮箱地址和密码都正确无误。

上一篇:java 判断字符串是不是数字

下一篇:java开发windows桌面程序

大家都在看

java url decode

java判断是windows还是linux

java连接数据库的代码

java date类型比较大小

java djl

ubuntu 卸载java

es java api

java list 查找

java 解压rar

java读取excel中的图片

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站