前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Spring Boot实现邮件发送

Spring Boot实现邮件发送

作者头像
水煮麥楽雞
发布2022-11-20 14:54:23
3390
发布2022-11-20 14:54:23
举报
文章被收录于专栏:Find­My­FUNFind­My­FUN

引入jar包

代码语言:javascript
复制
    <!--邮件发送功能依赖-->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-mail</artifactId>
    </dependency>

配置properties(yml)

代码语言:javascript
复制
    spring:
      mail:
          protocol: smtp #smtp是邮件发送协议,pop3和imap是邮件接收协议。因为我们要发送邮件,因此是smtp
          host: smtp.qq.com #邮件发送服务器的主机,这里采用的是QQ邮箱来发送邮件
          port: 465 #邮件发送服务器的端口
          auth: true #一般情况下,发送邮件都是要进行验证
          username: 1239474058@qq.com #邮件发送服务器的用户名
          password: mptwyvufdggcbgab #此处不是账户密码而是权限码(可以在邮箱中开启服务得到)
          properties: #由于smtp属于变种协议,需要申明ssl
            mail:
              smtp:
                ssl:
                  enable: true

Controller实现

只发送信息

代码语言:javascript
复制
    public String send(){
            //建立邮件消息
            SimpleMailMessage mainMessage = new SimpleMailMessage();
            //发送者
            mainMessage.setFrom("xxxxx@126.com");
            //接收者
            mainMessage.setTo("xxxx@qq.com");
            //发送的标题
            mainMessage.setSubject("测试邮件");
            //发送的内容
            mainMessage.setText("hello world");
            jms.send(mainMessage);
            return "1";
        }

发送带附件的邮件

常规使用中,可以将文件转为流传送

代码语言:javascript
复制
    MimeMessage mailMessage = javaMailSender.createMimeMessage();
     
    //开启带附件true
    MimeMessageHelper messageHelper = new MimeMessageHelper(mailMessage, true);
    messageHelper.setFrom("1239474058@qq.com");//发送者.
    messageHelper.setTo("849732277@qq.com");//接收者.
    messageHelper.setSubject("测试邮件");//邮件主题.
    messageHelper.setText(emailText);//邮件内容.
    //文件一
    FileSystemResource file1 = new FileSystemResource(new File("C:\\1.jpg"));
    FileSystemResource file2= new FileSystemResource(new File("C:\\2.jpg"));
    messageHelper.addAttachment("附件-1.jpg", file1);
    messageHelper.addAttachment("附件-2.jpg", file2);
     
    javaMailSender.send(mailMessage);//发送邮件

假如使用了Thymeleaf模板引擎,可以发送html

代码语言:javascript
复制
    @Autowired
    private TemplateEngine templateEngine;
     
    MimeMessage mailMessage = javaMailSender.createMimeMessage();
    // context 对象用于注入要在模板上渲染的信息
    Context context = new Context();
    context.setVariable("adminList",list);
    String emailText = templateEngine.process("testMain",context);
     
    //开启带附件true
    MimeMessageHelper messageHelper = new MimeMessageHelper(mailMessage, true);
    messageHelper.setFrom("1239474058@qq.com");//发送者.
    messageHelper.setTo("849732277@qq.com");//接收者.
    messageHelper.setSubject("测试邮件");//邮件主题.
    messageHelper.setText(emailText,true);//邮件内容.
    //文件一
    FileSystemResource file1 = new FileSystemResource(new File("C:\\1.jpg"));
    FileSystemResource file2= new FileSystemResource(new File("C:\\2.jpg"));
    messageHelper.addAttachment("附件-1.jpg", file1);
    messageHelper.addAttachment("附件-2.jpg", file2);
     
    javaMailSender.send(mailMessage);//发送邮件

其中setText中加true是开启html传送,会识别html标签


版权属于:。。。源

本文链接:https://cloud.tencent.com/developer/article/2169604

转载时须注明出处及本声明。我的博客即将同步至腾讯云开发者社区,邀请大家一同入驻:https://cloud.tencent.com/developer/support-plan?invite_code=2py75w7904qok

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-05-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 引入jar包
  • 配置properties(yml)
  • Controller实现
    • 只发送信息
      • 发送带附件的邮件
        • 假如使用了Thymeleaf模板引擎,可以发送html
        相关产品与服务
        云开发 CloudBase
        云开发(Tencent CloudBase,TCB)是腾讯云提供的云原生一体化开发环境和工具平台,为200万+企业和开发者提供高可用、自动弹性扩缩的后端云服务,可用于云端一体化开发多种端应用(小程序、公众号、Web 应用等),避免了应用开发过程中繁琐的服务器搭建及运维,开发者可以专注于业务逻辑的实现,开发门槛更低,效率更高。
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档