springboot 发送邮件

使用springboot来发送邮件还是比较简单的,这里我们以发送qq邮件为例

1.首先,需要在自己的qq邮箱中开启POP3服务

步骤1:打开qq邮箱 > 点击设置 > 账户 > 找到下面这个位置 因为我这里是已经开启的所以你们默认没开启的需要开启一下

在这里插入图片描述

步骤2:这里是生成授权码的地方需要生成自己的授权码

在这里插入图片描述

2.上面准备工作完成以后接下来就开始我们的代码部分了

2.1 第一步先导入依赖

<dependency>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-starter-mail</artifactId>
</dependency>

2.2 第二步编写我们的配置文件

#要发送人的邮箱
spring.mail.username=1723246792@qq.com
#这个是我们之前保存的授权码
spring.mail.password=tdzxafrpugkzdejf
#qq邮箱是就qq.com 如果是网易 后缀就可以改为163.com
spring.mail.host=smtp.qq.com
#这个是qq特有的需要开启 
spring.mail.properties.mail.smtp.ssl.enable=true

2.3下面就可以去编写的发送邮箱的代码了,我这里是直接用测试类去测试的

2.3.1这个是一封简单邮件

	@Autowired
	JavaMailSenderImpl mailSender;
	
	@Test
	public void contextLoads() {
		//发送邮件
		//内容
		SimpleMailMessage message = new SimpleMailMessage();
		message.setSubject("springboot发送邮件");
		message.setText("一封简单邮件");
		//收件人和发件人
		message.setFrom("1723246792@qq.com");
		message.setTo("1723246792@qq.com");
		//发送
		mailSender.send(message);
	}

2.3.2这个是一封复杂的邮件

	@Autowired
	JavaMailSenderImpl mailSender;
	@Test
	void test2() throws MessagingException {
		//一个复杂的邮件
		MimeMessage mimeMessage = mailSender.createMimeMessage();
		//组装 true表示支持多文件,设置编码还可以再加参数"utf-8"
		MimeMessageHelper helper = new MimeMessageHelper(mimeMessage, true);

		//正文
		helper.setSubject("springboot发送邮件");
		//true表示是否支持html
		helper.setText("<h1>一封复杂的邮件</h1>",true);

		//附件
		helper.addAttachment("1.jpg",new File("D:\\java\\Spring_course\\untitled2\\mail-java\\src\\1.png"));
		helper.addAttachment("2.sql",new File("C:\\Users\\Desktop\\2018新教材.docx"));
		helper.addAttachment("3.mp4",new File("C:\\Users\\Desktop\\新建文本文档 (2).txt"));
		
		//收件人和发件人
		helper.setFrom("1723246792@qq.com");
		helper.setTo("1723246792@qq.com");
		//发送
		mailSender.send(mimeMessage);
	}

这个是我封装的一个发送复杂邮件方法,你们可以根据自己的需要去修改一些参数和代码


    /**
     *
     * @param html 是否支持html
     * @param subject 主题
     * @param text 正文
     * @param attachmentMap 附件一个map集合 存放新名字和原文件绝对路径
     * @param from 发件人
     * @param to 收件人
     * @throws MessagingException
     */
    @Override
    public void sendMail(Boolean html, String subject, String text, Map<String, String> attachmentMap, String from, String to) throws MessagingException {
        //一个复杂的邮件
        MimeMessage mimeMessage = mailSender.createMimeMessage();
        //组装 true表示支持多文件,设置编码还可以再加参数"utf-8"
        MimeMessageHelper helper = new MimeMessageHelper(mimeMessage, html);

        //正文
        helper.setSubject(subject);
        //true表示是否支持html
        helper.setText(text,html);

        //附件
        for(String key:attachmentMap.keySet()){
            helper.addAttachment(key,new File(attachmentMap.get(key)));
        }
        helper.setFrom(from);
        helper.setTo(to);
        mailSender.send(mimeMessage);
    }

总结:到这里用springboot发送邮件就结束了,跟用原生servlet发送比起来是不是超级简单

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值