qq邮箱接收验证码
第一步:pom.xml导入配置
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| <!--QQ邮箱验证码所需jar包--> <dependency> <groupId>javax.activation</groupId> <artifactId>activation</artifactId> <version>1.1.1</version> </dependency> <dependency> <groupId>javax.mail</groupId> <artifactId>mail</artifactId> <version>1.4.7</version> </dependency> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-email</artifactId> <version>1.4</version> </dependency>
|
第二步:写一个工具类
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
| import org.apache.commons.mail.EmailException; import org.apache.commons.mail.SimpleEmail; import org.springframework.stereotype.Component; @Component public class SendMail {
public void sendEmailCode(String targetEmail, String authCode) { try { SimpleEmail mail = new SimpleEmail(); mail.setHostName("smtp.qq.com"); mail.setAuthentication("邮箱号", "授权码"); mail.setFrom("邮箱号", "用户名"); mail.setSSLOnConnect(true); mail.addTo(targetEmail); mail.setSubject("注册验证码"); mail.setMsg("验证码为:" + authCode); mail.send(); } catch (EmailException e) { e.printStackTrace(); } } }
|
第三步再controller层调用
1 2 3 4 5 6 7 8 9 10
| @ApiOperation(value ="发送验证码",notes = "邮箱账号不要写错",httpMethod = "POST") @PostMapping("/getCode") @ResponseBody public Response mail(@RequestParam("targetEmail") String targetEmail) { authCode = String.valueOf(new Random().nextInt(899999) + 100000); sendMail.sendEmailCode(targetEmail, "你的验证码为" + authCode + "(五分钟内有效)"); return Response.ok(0,"验证码发生成功"); }
|
总结:
如此就可以实现qq邮箱接收验证码,可以用于账号找回的验证以及邮箱注册等功能