Java邮箱发信工具类

该博客介绍了如何利用JavaMail API和Hutool库来发送邮箱激活邮件。提供了一个`Mail`类用于存储邮箱配置信息,并展示了`MailUtil`工具类的`sendMail`方法,该方法用于构建并发送包含激活链接的邮件。博客还提出了将工具类中的字符串与`Mail`类的属性关联,以实现更多类型的邮件发送。

代码如下

<!--    邮箱激活-->
    <dependency>
      <groupId>com.sun.mail</groupId>
      <artifactId>javax.mail</artifactId>
      <version>1.6.2</version>
    </dependency>
public class Mail {
    private int id;
    private String host;
    private int port;
    private String email;
    private String pwd;
    private String nickName;

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getHost() {
        return host;
    }

    public void setHost(String host) {
        this.host = host;
    }

    public int getPort() {
        return port;
    }

    public void setPort(int port) {
        this.port = port;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    public String getPwd() {
        return pwd;
    }

    public void setPwd(String pwd) {
        this.pwd = pwd;
    }

    public String getNickName() {
        return nickName;
    }

    public void setNickName(String nickName) {
        this.nickName = nickName;
    }

    public Mail() {
    }

    public Mail(int id, String host, int port, String email, String pwd, String nickName) {
        this.id = id;
        this.host = host;
        this.port = port;
        this.email = email;
        this.pwd = pwd;
        this.nickName = nickName;
    }

    @Override
    public String toString() {
        return "Mail{" +
                "id=" + id +
                ", host='" + host + '\'' +
                ", port=" + port +
                ", email='" + email + '\'' +
                ", pwd='" + pwd + '\'' +
                ", nickName='" + nickName + '\'' +
                '}';
    }
}

import cn.hutool.extra.mail.MailAccount;
import entity.Mail;
import java.util.ArrayList;
import java.util.List;
public class Mailutil {
    public static void sendMail(String accptor, Mail ms){
        try {
            MailAccount account = new MailAccount();
            account.setHost(ms.getHost());//邮箱的协议
            account.setPort(ms.getPort());//邮箱的端口号
            account.setAuth(true);//验证规则
            account.setFrom(ms.getEmail());//发件人的邮箱地址
            account.setUser(ms.getNickName());//发件人的邮箱昵称
            account.setPass(ms.getPwd()); //邮箱设置获取到的授权码,可以在qq邮箱设置里面获取
            List<String> acceptor=new ArrayList<>();
            acceptor.add(accptor);//收件人的邮箱地址.要封装到一个list集合里面
//五个参数,第一个是发件人信息,第二个是收件人,第三个是邮件的主题,第四个是邮件的内容.
// 第五个是邮件内容是否以html格式展示
            cn.hutool.extra.mail.MailUtil.send(account,acceptor ,
                    "xxxxx激活","欢迎注册xxx的会员,点击链接完成注册激活,祝您在xxxxx!激活链接:<a href='xxxxx''>点击激活</a>", true);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

额外说明

工具类里面的字符串也可以提取到Mail类的一个属性,或者多个属性,这样可以不仅可以做激活邮件,还可以做通知邮件等,可以以此为基础模板进行修改成自己想要的

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值