使用Java发送邮件的示例

简介: 使用Java发送邮件的示例

以下是一个使用Java发送邮件的示例:

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

public class SendEmail {
   

    public static void main(String[] args) throws MessagingException {
   
        // 设置SMTP服务器的地址和端口
        String host = "smtp.gmail.com";
        int port = 587;

        // 设置发件人的邮箱地址和密码
        String from = "your-email@gmail.com";
        String password = "your-password";

        // 创建Properties对象
        Properties props = new Properties();

        // 设置mail.smtp.starttls.enable属性,启用TLS加密
        props.setProperty("mail.smtp.starttls.enable", "true");

        // 设置mail.smtp.host属性,指定SMTP服务器的地址
        props.setProperty("mail.smtp.host", host);

        // 设置mail.smtp.port属性,指定SMTP服务器的端口号
        props.setProperty("mail.smtp.port", String.valueOf(port));

        // 设置mail.smtp.auth属性,指定需要身份验证
        props.setProperty("mail.smtp.auth", "true");

        // 创建Session对象
        Session session = Session.getInstance(props,
                new javax.mail.Authenticator() {
   
                    protected PasswordAuthentication getPasswordAuthentication() {
   
                        return new PasswordAuthentication(from, password);
                    }
                });

        // 创建MimeMessage对象
        MimeMessage message = new MimeMessage(session);

        // 设置发件人的邮箱地址
        message.setFrom(new InternetAddress(from));

        // 设置收件人的邮箱地址
        message.setRecipients(Message.RecipientType.TO,
                InternetAddress.parse("recipient-email@gmail.com"));

        // 设置邮件主题
        message.setSubject("Test Email");

        // 设置邮件内容
        message.setText("This is a test email.");

        // 发送邮件
        Transport.send(message);
    }
}

在这个示例中,我们首先导入了java.util.Propertiesjavax.mail.Messagejavax.mail.MessagingExceptionjavax.mail.PasswordAuthenticationjavax.mail.Sessionjavax.mail.Transportjavax.mail.internet.InternetAddressjavax.mail.internet.MimeMessage模块。然后,我们设置了SMTP服务器的地址和端口,以及发件人的邮箱地址和密码。接下来,我们创建了一个Properties对象,设置了SMTP服务器的相关属性,包括启用TLS加密、指定SMTP服务器的地址和端口号、指定需要身份验证等。然后,我们创建了一个Session对象,指定需要的身份验证和SMTP服务器的地址和端口号。接下来,我们创建了一个MimeMessage对象,设置了发件人的邮箱地址、收件人的邮箱地址、邮件主题和邮件内容。最后,我们使用Transport类发送邮件。
注意,你需要将your-email@gmail.comyour-password替换为你的发件人的邮箱地址和密码,将recipient-email@gmail.com替换为你的收件人的邮箱地址。此外,你需要将smtp.gmail.com替换为你的SMTP服务器的地址,将587替换为你的SMTP服务器的端口号。

相关文章
|
1月前
|
Java 开发工具
【Azure Storage Account】Java Code访问Storage Account File Share的上传和下载代码示例
本文介绍如何使用Java通过azure-storage-file-share SDK实现Azure文件共享的上传下载。包含依赖引入、客户端创建及完整示例代码,助你快速集成Azure File Share功能。
329 4
|
2月前
|
IDE Java 关系型数据库
Java 初学者学习路线(含代码示例)
本教程为Java初学者设计,涵盖基础语法、面向对象、集合、异常处理、文件操作、多线程、JDBC、Servlet及MyBatis等内容,每阶段配核心代码示例,强调动手实践,助你循序渐进掌握Java编程。
368 3
|
2月前
|
Java
java入门代码示例
本文介绍Java入门基础,包含Hello World、变量类型、条件判断、循环及方法定义等核心语法示例,帮助初学者快速掌握Java编程基本结构与逻辑。
381 0
Java API 开发者
97 0
|
4月前
|
安全 Java 网络安全
Java 实现 SMTP 协议调用的详细示例及实战指南 SMTP Java 调用示例
本文介绍了如何使用Java调用SMTP协议发送邮件,涵盖SMTP基本概念、JavaMail API配置、代码实现及注意事项,适合Java开发者快速掌握邮件发送功能集成。
429 0
|
4月前
|
算法 搜索推荐 Java
Java中的Collections.shuffle()方法及示例
`Collections.shuffle()` 是 Java 中用于随机打乱列表顺序的方法,基于 Fisher-Yates 算法实现,支持原地修改。可选传入自定义 `Random` 对象以实现结果可重复,适用于抽奖、游戏、随机抽样等场景。
203 0
|
5月前
|
存储 安全 Java
应届生面试高频 Java 基础问题及实操示例解析
本文总结了Java基础面试中的高频考点,包括数据类型分类、final修饰符的三种用途、static关键字特性、==与equals的区别、Java只有值传递的特性、String的不可变性、Error与Exception的差异、程序初始化顺序规则,以及IO流的字节流/字符流分类。每个问题都配有简明定义和典型示例,如用final修饰变量示例、static方法调用限制说明等,帮助应聘者快速掌握核心概念和实际应用场景。
102 0
|
5月前
|
Java 关系型数据库 MySQL
2025 年互联网公司校招 Java 面试题总结及答案实操示例解析
本项目基于Spring Boot 3与Java 17技术栈,围绕校园招聘常见面试题,提供核心知识点的实操示例。涵盖多线程、RESTful API设计、数据库操作(Spring Data JPA)、事务管理及异常处理等。通过完整代码实现与运行步骤,帮助理解用户管理、线程池配置等实际应用场景。资源包含项目结构、关键代码示例(如User实体类、UserService服务层、ThreadService多线程实现)及数据库迁移脚本,适合深入学习与实践。环境要求:JDK 17+、Maven 3.8+、MySQL 8.0+。
207 3
|
12月前
|
Java
在Java中实现接口的具体代码示例
可以根据具体的需求,创建更多的类来实现这个接口,以满足不同形状的计算需求。希望这个示例对你理解在 Java 中如何实现接口有所帮助。
348 38