Java发送邮件的代码示例

简介: 以下是一个使用Java发送邮件的代码示例:```javaimport java.util.Properties;import javax.mail.Authenticator;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;

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

import java.util.Properties;
import javax.mail.Authenticator;
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) {
   
        // 设置邮件服务器主机名
        String host = "smtp.example.com";
        // 设置发送者邮箱
        String from = "sender@example.com";
        // 设置接收者邮箱
        String to = "receiver@example.com";
        // 设置发送者邮箱用户名
        final String username = "sender_username";
        // 设置发送者邮箱密码
        final String password = "sender_password";

        // 创建Properties对象,用于设定邮件相关信息
        Properties props = new Properties();
        props.put("mail.smtp.host", host);
        props.put("mail.smtp.auth", "true");

        // 创建会话对象,通过输入用户名和密码进行身份验证
        Session session = Session.getInstance(props, new Authenticator() {
   
            protected PasswordAuthentication getPasswordAuthentication() {
   
                return new PasswordAuthentication(username, password);
            }
        });

        try {
   
            // 创建邮件消息对象
            Message message = new MimeMessage(session);
            // 设置发送者邮箱地址
            message.setFrom(new InternetAddress(from));
            // 设置接收者邮箱地址
            message.setRecipients(Message.RecipientType.TO, InternetAddress.parse(to));
            // 设置邮件主题
            message.setSubject("Hello World!");
            // 设置邮件内容
            message.setText("This is a test email sent from Java.");

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

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

请确保将 hostfromtousername 以及 password 替换为正确的邮箱服务器和邮箱账号信息。

相关文章
|
1天前
|
Java
如何解决使用若依前后端分离打包部署到服务器上后主包无法找到从包中的文件的问题?如何在 Java 代码中访问 jar 包中的资源文件?
如何解决使用若依前后端分离打包部署到服务器上后主包无法找到从包中的文件的问题?如何在 Java 代码中访问 jar 包中的资源文件?
5 0
|
2天前
|
Java
简单的 Java 计算器示例
这是一个Java计算器程序,接收用户输入的两个数字和一个运算符(+,-,*,/),通过`Scanner`获取输入,使用`switch`进行计算。当运算符为除法时,检查除数是否为0,防止除零错误。最后,它打印出计算结果。
5 0
|
2天前
|
Java Spring
Java 效率编码 必备插件 Lombok 让代码更优雅
该内容是一个关于Lombok插件的教程摘要:介绍了Lombok用于减少Java开发中的模板代码,提升效率;讲解了如何在IntelliJ IDEA中安装Lombok插件,以及在pom.xml中添加依赖;并提到了@Data注解能自动生成getter/setter、equals、hashCode和toString方法,@Slf4j注解自动处理日志,@Builder用于构建对象,以及@AllArgsConstructor和@NoArgsConstructor注解生成构造函数。还鼓励探索更多Lombok的注解用法。
|
2天前
|
Java 关系型数据库 测试技术
Java代码一键生成数据库文档(案例详解)
Screw是一个自动化数据库文档生成工具,能根据数据库表结构快速生成简洁、多格式(HTML、Word、Markdown)的文档,支持MySQL、MariaDB等多数据库。它使用Freemarker模板,允许用户自定义样式。依赖包括HikariCP数据库连接池和对应JDBC驱动。通过在Java代码或Maven插件中配置,可方便生成文档。示例代码展示了如何在测试用例中使用Screw。文档效果依赖于数据库中的表和字段注释。
|
2天前
|
NoSQL Java API
java一行代码实现RESTFul接口
Spring Data REST是构建在Spring Data之上的库,可自动将repository转换为REST服务,支持JPA、MongoDB、Neo4j、GemFire和Cassandra。无需手动创建Service和Controller层。要开始,需配置JPA数据源,创建实体类和Repository接口。快速实现REST接口,只需引入spring-boot-starter-data-rest Maven依赖,并在Repository接口上添加@RepositoryRestResource注解。
|
5天前
|
Java
Java 事件驱动编程:概念、优势与实战示例
【4月更文挑战第27天】事件驱动编程是一种编程范式,其中程序的执行流程由外部事件的发生而触发或驱动。
12 0
|
5天前
|
Java 程序员
Java 异步编程:概念、优势与实战示例
【4月更文挑战第27天】在现代软件开发中,异步编程是一种重要的编程范式,特别适用于处理长时间运行的任务,如网络通信、文件操作等。
13 0
|
5天前
|
Java 数据处理 API
Java 函数式编程:概念、优势与实战示例
【4月更文挑战第27天】函数式编程(Functional Programming,简称 FP)是一种编程范式,它将计算视为数学函数的求值并避免使用程序状态以及可变数据。
11 1
|
5天前
|
Java 编译器 开发者
【JAVA】为什么代码会重排序
【JAVA】为什么代码会重排序
|
6天前
|
存储 自然语言处理 Java
【JAVA面试题】什么是代码单元?什么是码点?
【JAVA面试题】什么是代码单元?什么是码点?