java实现发送邮件功能

1在邮箱中开启smtp服务

2导入jar包(spring mail) 配置邮箱参数 使用javaMailSender发送邮件

	<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-mail</artifactId>
			<version>2.1.5.RELEASE</version>
		</dependency>
# MailProperties
//这是新浪邮箱
spring.mail.host=smtp.sina.com
//邮箱默认端口基本都是465
spring.mail.port=465
//邮箱的账号
spring.mail.username=xxx
//邮箱的密码 是你自己开启stmp服务时的授权码
spring.mail.password=xxx
//协议 smtps
spring.mail.protocol=smtps
//是否采用ssl安全连接
spring.mail.properties.mail.smtp.ssl.enable=true
//代码实现

@Component
public class MailClient {
//实例一个日志
    private static final Logger logger = LoggerFactory.getLogger(MailClient.class);

    @Autowired//spring管理的邮件核心组件 直接注入就可以使用
    private JavaMailSender mailSender;

    @Value("${spring.mail.username}") //注入发件人
    private String from;
//参数 发给谁 标题 内容 
    public void sendMail(String to, String subject, String content) {
        try {
            //1 构建message
            MimeMessage message = mailSender.createMimeMessage();
            //2构建message里面的内容
            MimeMessageHelper helper = new MimeMessageHelper(message);
            //发件人
            helper.setFrom(from);
            //收件人
            helper.setTo(to);
            //主题
            helper.setSubject(subject);
            //内容 true表示允许支持html
            helper.setText(content, true);
            //发送邮件
            mailSender.send(helper.getMimeMessage());
        } catch (MessagingException e) {
            logger.error("发送邮件失败:" + e.getMessage());
        }
    }

}

3使用thymeleaf发送邮件

//测试类
public class MailTests {

    @Autowired //注入上面的类
    private MailClient mailClient;

    @Autowired //注入TemplateEngine
    private TemplateEngine templateEngine;

    @Test
    public void testHtmlMail() {
        Context context = new Context();
      //内容   第一个参数 html页面的路径
        String content = templateEngine.process("xxx", context);
        //发送邮件  发给谁 以html的方式 内容
        mailClient.sendMail(" xxx", "HTML", content);
    }

}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值