SpringBoot实现邮件发送

1.引入jar包

<!--邮件发送功能依赖-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-mail</artifactId>
        </dependency>

 

2.配置properties(yml)

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

3.Controller实现

1.只发送信息

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";
	}

2.发送带附件的邮件

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

            MimeMessage mailMessage = javaMailSender.createMimeMessage();

            //开启带附件true
            MimeMessageHelper messageHelper = new MimeMessageHelper(mailMessage, true);
            messageHelper.setFrom("756834111@qq.com");//发送者.
            messageHelper.setTo("ztxcom@qq.com");//接收者.
            messageHelper.setSubject("朱儿");//邮件主题.
            messageHelper.setText(emailText);//邮件内容.
            //文件一
            FileSystemResource file1 = new FileSystemResource(new File("C:\\Users\\15250\\Desktop\\1.jpg"));
            FileSystemResource file2= new FileSystemResource(new File("C:\\Users\\15250\\Desktop\\2.jpg"));
            messageHelper.addAttachment("附件-1.jpg", file1);
            messageHelper.addAttachment("附件-2.jpg", file2);


            javaMailSender.send(mailMessage);//发送邮件

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

@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("756834111@qq.com");//发送者.
            messageHelper.setTo("ztxcom@qq.com");//接收者.
            messageHelper.setSubject("朱儿");//邮件主题.
            messageHelper.setText(emailText,true);//邮件内容.
            //文件一
            FileSystemResource file1 = new FileSystemResource(new File("C:\\Users\\15250\\Desktop\\1.jpg"));
            FileSystemResource file2= new FileSystemResource(new File("C:\\Users\\15250\\Desktop\\2.jpg"));
            messageHelper.addAttachment("附件-1.jpg", file1);
            messageHelper.addAttachment("附件-2.jpg", file2);


            javaMailSender.send(mailMessage);//发送邮件

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

 

 

以上只是自己学习使用,不喜勿喷!希望大佬指导怎么将能让传过去的页面最好能有css效果,我使终没有css效果

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值