Fork me on GitHub

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();
    }
}

 

 

 

代码说明

  1. SMTP 服务器信息

    • smtp.gmail.com 是 Gmail 的 SMTP 服务器,你可以根据邮件服务提供商更改此信息。
    • 587 是 TLS 的标准端口。如果使用 SSL,你可以改用端口 465 并相应地配置 mail.smtp.ssl.enable
  2. 启用 TLS

    • 通过 props.put("mail.smtp.starttls.enable", "true") 启用 TLS。它确保通过加密的方式传输邮件。
  3. 身份验证

    • 使用 Authenticator 类,提供邮箱的用户名和密码以进行身份验证。

注意事项

  • Gmail 安全性:如果使用 Gmail 发送邮件,请确保启用了应用专用密码,尤其是在开启两步验证的情况下。
  • TLS 与 SSL:如果你需要使用 SSL 而不是 TLS,可以将 mail.smtp.starttls.enable 设置为 false,并启用 mail.smtp.ssl.enable

通过此方式,可以使用 Eclipse Angus 通过 TLS 发送邮件。

 

posted @ 2024-09-22 23:39  龙凌云端  阅读(24)  评论(0编辑  收藏  举报