邮件发送在生活中处处可见,我们最常见的就是用来发送验证码,接下来将为大家直接讲解,初学者也能快速入手!!
一、导入依赖
<!--webmvc-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<version>2.3.0.RELEASE</version>
</dependency>
<!--邮件发送-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mail</artifactId>
<version>2.3.0.RELEASE</version>
</dependency>
<!--测试-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<version>2.3.0.RELEASE</version>
</dependency>
二、修改配置文件
server:
port: 8080
spring:
#邮件发送
mail:
host: smtp.qq.com #邮件类型
username: [email protected] #邮箱号
password: tretrkeenxgjyizc #自己邮箱的动态密码
default-encoding: utf-8
javaMailProperties: #相关配置
mail:
smtp:
auth: true
timeout: 20000
ssl:
enable: true
三、工具类
这里我自己做了一个简单的工具类。
import org.springframework.mail.javamail.JavaMailSenderImpl;
import org.springframework.mail.javamail.MimeMessageHelper;
import javax.mail.MessagingException;
import javax.mail.internet.MimeMessage;
public class MailSendUtils {
/**
*
* @param html :是否支持HTML
* @param text :发送内容
* @param emailTo : 邮件接收者
* @throws //MessagingException
*/
public static void SendMail(Boolean html,String text,String emailTo,JavaMailSenderImpl mailSender) throws MessagingException {
//创建一个复杂的邮件
MimeMessage mimeMessage = mailSender.createMimeMessage();
//组装
MimeMessageHelper mimeMessageHelper = new MimeMessageHelper(mimeMessage,html);
mimeMessageHelper.setSubject("邮箱验证");//主题
mimeMessageHelper.setText(text,html);//内容
mimeMessageHelper.setFrom("[email protected]");//邮件发送者
mimeMessageHelper.setTo(emailTo);//邮件接收者
//添加附件
//mimeMessageHelper.addAttachment("1.jpeg", new File("C:\\Users\\Administrator\\springboot-task\\asynchronous-task\\src\\main\\resources\\static\\image\\1.jpeg"));
mailSender.send(mimeMessage);
}
}
四、测试
代码如下:
//邮件发送接口
@Resource
private JavaMailSenderImpl javaMailSender;
@Test
public void test() throws MessagingException {
Random random=new Random();
int number=random.nextInt(9999-1000+1)+1000; //随机生成一个四位数验证码
MailSendUtils.SendMail(true,String.valueOf(number),"[email protected]",javaMailSender); //发送,必须联网才能发送成功。
}
示例测试结果如下:
以上就是全部内容,希望能够帮助到各位小伙伴!