JAVA项目发送邮箱 SpringBoot
想用JAVA发送邮箱仅需要简单的几个步骤就可以实现啦!!!!!
1、在开始之前需要去获取到自己邮箱的授权码
我拿网易@163.com做例子网易邮箱网址
开启POP3/SMTP后会弹出我们自己的邮箱授权码
只会显示一次,如果想再次看只能重新生成,所以弹出授权码要复制保存好(重点!!)
2、然后在JAVA项目中配置我们的application.properties
spring.mail.host=smtp.163.com
spring.mail.port=465
spring.mail.username=!!!!你自己的邮箱!!!!
spring.mail.password=!!!!你自己的邮箱授权码!!!!
spring.mail.default-encoding=UTF-8
spring.mail.properties.mail.smtp.socketFactory.class=javax.net.ssl.SSLSocketFactory
spring.mail.properties.mail.debug=true
3、接下来就是代码部分
@Service
public class SendService {
// JavaMailSender 在Mail 自动配置类 MailSenderAutoConfiguration 中已经导入,这里直接注入使用即可
@Resource
JavaMailSender javaMailSender;
//方法5个参数分别表示:邮件发送者、收件人、抄送人、邮件主题以及邮件内容
public void sendSimpleMail(String from, String to, String subject, String text) {
// 简单邮件直接构建一个 SimpleMailMessage 对象进行配置并发送即可
SimpleMailMessage simpMsg = new SimpleMailMessage();
simpMsg.setFrom(from);
simpMsg.setTo(to);
simpMsg.setCc(cc);
simpMsg.setSubject(subject);
simpMsg.setText(text);
javaMailSender.send(simpMsg);
}
}
@Service
public class EmailServiceImpl implements EmailService {
@Autowired
SendService sendService;
@Override
public CommonResult sendEmail(EmailEntity emailEntity) {
EmailEntity emailEntity = new EmailEntity();
//生成六位随机数(验证码)
String s = RandomStringUtils.randomNumeric(6);
//这里的问号是你的邮箱 需要和你的application.properties中写的邮箱相同否则会报错
String from = "??????";
//这里的感叹号是你要发送给谁
String to = !!!!!!!;
//subject是你的标题头
String subject = "测试验证";
String text = "尊贵的用户您好,您的验证码是: "+s+" 验证码仅在15分钟内有效,请及时校验.";
sendService.sendSimpleMail(from,to,subject,text);
return CommonResult.ok();
}
Controller
@GetMapping("send")
public CommonResult send(EmailEntity emailEntity){
CommonResult yzm = emailService.sendEmail(emailEntity);
return yzm;
}
POM
<!--邮箱-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mail</artifactId>
</dependency>
<!--邮箱依赖-->
<dependency>
<groupId>javax.mail</groupId>
<artifactId>mail</artifactId>
<version>1.5.0-b01</version>
</dependency>
<!--随机数-->
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.7</version>
</dependency>
调用controller方法给予实体对象或参数即可实现发送邮箱
如果用qq邮箱可以把application.properties中的
spring.mail.host=smtp.163.com
改成
spring.mail.host=smtp.qq.com
其他平台也是同样哦
还有不明白或者有报错可以通过网络查询或者评论区讨论
还没有评论,来说两句吧...