Eclipse Angus TLS 发送邮件
Eclipse Angus TLS 发送邮件
Augus-mail
是一种邮件发送库,类似于 JavaMail。要通过 Augus-mail
使用 TLS 发送邮件,流程会与 JavaMail 非常类似。以下是使用 Augus-mail
发送带 TLS 的邮件的基本步骤:
步骤 1:设置依赖
首先,你需要确保项目中包含 Augus-mail
的依赖。如果你是通过 Maven 构建项目,你需要添加相关依赖(假设有相应的 Maven 仓库):
<!-- https://mvnrepository.com/artifact/org.eclipse.angus/angus-mail -->
<dependency>
<groupId>org.eclipse.angus</groupId>
<artifactId>angus-mail</artifactId>
<version>2.0.3</version>
</dependency>
步骤 2:配置邮件发送
使用 Augus-mail
发送邮件时,你需要设置 SMTP 服务器,并启用 TLS。可以通过类似的方式进行配置:
import org.eclipse.angus.mail.*;
import jakarta.mail.*;
import jakarta.mail.internet.*;
import java.util.Properties;
public class AngusMailTLSExample {
public static void sendEmail() {
// SMTP 服务器信息
String smtpHost = "smtp.gmail.com"; // 例如 Gmail 的 SMTP 服务器
String smtpPort = "587"; // TLS 默认端口
String username = "your-email@gmail.com"; // 你的邮箱地址
String password = "your-password"; // 你的邮箱密码
// 设置属性
Properties props = new Properties();
props.put("mail.smtp.host", smtpHost); // SMTP 服务器
props.put("mail.smtp.port", smtpPort); // SMTP 端口
props.put("mail.smtp.auth", "true"); // 启用身份验证
props.put("mail.smtp.starttls.enable", "true"); // 启用 TLS
props.put("mail.smtp.ssl.trust", smtpHost); // 信任的 SMTP 服务器
// 创建会话
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("your-email@gmail.com")); // 发件人地址
message.setRecipients(Message.RecipientType.TO, InternetAddress.parse("recipient-email@example.com")); // 收件人地址
message.setSubject("Test Eclipse Angus TLS Email"); // 邮件主题
message.setText("This is a test email sent using Eclipse Angus with TLS encryption."); // 邮件正文
// 发送邮件
Transport.send(message);
System.out.println("邮件发送成功!");
} catch (MessagingException e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
sendEmail();
}
}
代码说明
-
SMTP 服务器信息:
smtp.gmail.com
是 Gmail 的 SMTP 服务器,你可以根据邮件服务提供商更改此信息。587
是 TLS 的标准端口。如果使用 SSL,你可以改用端口465
并相应地配置mail.smtp.ssl.enable
。
-
启用 TLS:
- 通过
props.put("mail.smtp.starttls.enable", "true")
启用 TLS。它确保通过加密的方式传输邮件。
- 通过
-
身份验证:
- 使用
Authenticator
类,提供邮箱的用户名和密码以进行身份验证。
- 使用
注意事项
- Gmail 安全性:如果使用 Gmail 发送邮件,请确保启用了应用专用密码,尤其是在开启两步验证的情况下。
- TLS 与 SSL:如果你需要使用 SSL 而不是 TLS,可以将
mail.smtp.starttls.enable
设置为false
,并启用mail.smtp.ssl.enable
。
通过此方式,可以使用 Eclipse Angus 通过 TLS 发送邮件。