基于SpringBoot的QQ邮件发送

前言:

不管是使用springboot或者ssm,或者是其他框架的时候,总是会有需求要求你去发邮件,比如说当你注册成功之后发一封邮件给用户,告诉他注册成功,或者当用户找回密码的时候也会发邮件验证,因此掌握发邮件还是有必要的。

一、准备工作:

首先,在pom.xml中导入邮件依赖


导入依赖之后我们先来认识几个类:

MailSender:是用来发送一个简单的邮件

JavaMailSender:创建一个复杂邮件

SimpleMailMessage:创建一个简单邮件信息,可以理解为一个模板,里面包含了邮件的基本信息,如邮件要发给谁、邮件的主题是什么等等

MimeMessageHelper:复杂邮件的模板

二、设置发件端邮箱

我们发送端的邮箱使用的是QQ邮箱,因此我们首先要设置发送邮箱的POP3格式等,首先找到设置然后选择账户

在账户下找到POP3等设置项,如果没开启的话点击后面的开启,然后会提示你发送短信去开启,用手机发送短信,之后会受到一个密文,记得保存!

三、配置文件

上面的password内容就是你刚才发完短信给你的密文,而不是你的QQ密码!!!

四、测试发送简单邮件

首先注入MailSender,不管是发送简单邮件还是复杂邮件都需要用到这个接口。然后使用简单模板,把主题和内容这些都设置进去,然后设置发件邮箱和接收邮箱,我这里使用的都是自己的QQ邮箱,这些基本信息设置完之后,我们就调用mailSender中的send方法,很简单是吧,我们来运行看下效果。。

结果:

我们来看下用QQ邮箱给其他类型的邮箱发是否可以,我使用一个163的邮箱,来看下是否可以接收到我QQ邮箱发送的通知,只需要将setTo改为163的地址,然后我们直接来看下结果:

五、发送复杂邮件

我们来发送一个带有附件,字体有特效的邮件,其实和上面类似,首先采用复杂邮件的模板MimeMesage来创建一个模板,然后使用MimeMessageHelper来设置基本信息,最后还是通过send()发送。我们还是以给163邮箱发邮件为例:

前面的就不提了,主要看附件,第一个参数是文件的名字,这个文件名字不是你本地文件的名字,而是你发送给接收方文件的名字,第二个参数是你本地文件的位置,还有一个需要注意的是在setText的时候,第二个参数html需要设置为true,如果不设置为true的话子体的样式就不不显示,我们来看下效果:

我们来查看下附件:

没错是这个内容!到此上传文件功能就介绍完毕,当然你可以结合定时任务和实际业务场景来使用本功能,如果是你公司里面有一套邮件系统,你也可以仿照上面的这种方式来写,思路都是差不多的,直接调用方法就好。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在Spring Boot中使用QQ邮件发送,您需要以下步骤: 1. 在QQ邮箱中开启SMTP服务,并获取授权码。登录QQ邮箱,在“设置”中找到“账户”选项卡,点击“POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务”,开启SMTP服务并获取授权码。 2. 在您的Spring Boot项目中添加JavaMail依赖。您可以在pom.xml文件中添加以下依赖: ```xml <dependency> <groupId>javax.mail</groupId> <artifactId>mail</artifactId> <version>1.4.7</version> </dependency> ``` 3. 在application.properties文件中添加SMTP服务器信息和授权码。在application.properties文件中,添加以下属性: ```properties spring.mail.host=smtp.qq.com spring.mail.username=your_qq_email_address@qq.com spring.mail.password=your_qq_email_auth_code spring.mail.port=587 spring.mail.properties.mail.smtp.auth=true spring.mail.properties.mail.smtp.starttls.enable=true ``` 4. 创建JavaMailSender实例。您可以使用Spring Boot提供的JavaMailSender接口创建实例: ```java @Autowired public JavaMailSender emailSender; ``` 5. 编写发送邮件的代码。以下是一个示例: ```java public void sendEmail() { SimpleMailMessage message = new SimpleMailMessage(); message.setTo("[email protected]"); message.setSubject("Test Email"); message.setText("Hello, this is a test email."); emailSender.send(message); } ``` 请注意,您可以使用更高级的邮件发送API,例如MimeMessage和MimeMessageHelper,以发送HTML格式的邮件或带有附件的邮件。 希望这可以帮助您在Spring Boot中使用QQ邮件发送

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值