使用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服务器的端口号。

相关文章
|
5天前
|
Java
在 Java 中捕获和处理自定义异常的代码示例
本文提供了一个 Java 代码示例,展示了如何捕获和处理自定义异常。通过创建自定义异常类并使用 try-catch 语句,可以更灵活地处理程序中的错误情况。
|
25天前
|
存储 Java
Java中的HashMap和TreeMap,通过具体示例展示了它们在处理复杂数据结构问题时的应用。
【10月更文挑战第19天】本文详细介绍了Java中的HashMap和TreeMap,通过具体示例展示了它们在处理复杂数据结构问题时的应用。HashMap以其高效的插入、查找和删除操作著称,而TreeMap则擅长于保持元素的自然排序或自定义排序,两者各具优势,适用于不同的开发场景。
41 1
|
3月前
|
存储 Java API
【Azure 存储服务】Java Storage SDK 调用 uploadWithResponse 代码示例(询问ChatGTP得代码原型后人力验证)
【Azure 存储服务】Java Storage SDK 调用 uploadWithResponse 代码示例(询问ChatGTP得代码原型后人力验证)
|
1月前
|
存储 缓存 Java
java基础:IO流 理论与代码示例(详解、idea设置统一utf-8编码问题)
这篇文章详细介绍了Java中的IO流,包括字符与字节的概念、编码格式、File类的使用、IO流的分类和原理,以及通过代码示例展示了各种流的应用,如节点流、处理流、缓存流、转换流、对象流和随机访问文件流。同时,还探讨了IDEA中设置项目编码格式的方法,以及如何处理序列化和反序列化问题。
67 1
java基础:IO流 理论与代码示例(详解、idea设置统一utf-8编码问题)
|
1月前
|
存储 Java
什么是带有示例的 Java 中的交错数组?
什么是带有示例的 Java 中的交错数组?
43 9
|
1月前
|
Java
让星星⭐月亮告诉你,jdk1.8 Java函数式编程示例:Lambda函数/方法引用/4种内建函数式接口(功能性-/消费型/供给型/断言型)
本示例展示了Java中函数式接口的使用,包括自定义和内置的函数式接口。通过方法引用,实现对字符串操作如转换大写、数值转换等,并演示了Function、Consumer、Supplier及Predicate四种主要内置函数式接口的应用。
25 1
|
1月前
|
Java API 网络安全
Java 发送邮件示例
本示例展示了如何使用Java编程语言发送电子邮件。通过利用JavaMail API,这段代码实现了从配置SMTP服务器,设置邮件属性,到发送邮件的全过程,为开发者提供了实用的参考。
|
2月前
|
JavaScript 前端开发 Java
Java 8 新特性详解及应用示例
Java 8 新特性详解及应用示例
|
3月前
|
设计模式 存储 Java
掌握Java设计模式的23种武器(全):深入解析与实战示例
掌握Java设计模式的23种武器(全):深入解析与实战示例
|
3月前
|
JSON Java API
【Azure API 管理】通过Java APIM SDK创建一个新的API,如何为Reqeust的Representation设置一个内容示例(Sample)?
【Azure API 管理】通过Java APIM SDK创建一个新的API,如何为Reqeust的Representation设置一个内容示例(Sample)?