本项目基于Apache Commons Email for Jakarta开发。
超简单实现邮箱发送,并以此扩展出邮箱验证码功能(请读者扩展实现)。
构建工具:Maven
演示邮箱:outlook
准备
请确保你的邮箱开启了SMTP服务,并获取相关参数,类似下图:
开始
1.依赖导入
官网:官网依赖导入方式(点击前往)https://commons.apache.org/proper/commons-email/commons-email2-jakarta/dependency-info.html
2.配置并发送
import org.apache.commons.mail2.core.EmailException;
import org.apache.commons.mail2.jakarta.SimpleEmail;
/**
* 超简单邮箱发送示例.
* @author Al Elijah
* create date: 2024/8/25
*/
public class Main {
public static void main(String[] args) throws EmailException {
SimpleEmail email = new SimpleEmail();
// 设置SMTP服务地址
email.setHostName("smtp-mail.outlook.com");
// 配置SMTP端口
email.setSmtpPort(587);
// 启用安全协议扩展
// 如果抛出 com.sun.mail.smtp.SMTPSendFailedException: 451 5.7.3 STARTTLS is required to send mail
// 则开启
email.setStartTLSEnabled(true);
// 设置认证内容 一般为 邮箱地址和密码
email.setAuthentication("Al-Elijah_mvc_@outlook.com", "your_password");
// 设置发送邮件
email.setFrom("AscionOP@outlook.com");
// 设置接收邮件,可同时接收多个收件参数
email.addTo("pub_gld@foxmail.com");
// 设置发送邮箱主题
email.setSubject("Test Email");
// 设置发送主消息
email.setMsg("This is a test email");
// 发送邮件
email.send();
}
}