Springboot实现邮件发送功能

网友投稿 383 2022-12-14


Springboot实现邮件发送功能

本文实例为大家分享了Springboot实现邮件发送具体代码,供大家参考,具体内容如下

需求:用户注册账号绑定邮箱之后,下次登录时忘记密码,需要通过邮箱找回密码

1.创建springboot项目

2.pom导入依赖

org.springframework.boot

spring-boot-starter-mail

3.application.properties配置文件

spring.mail.host=smtp.163.com

spring.mail.username=sple_vip@163.com//发件人邮箱,需要开启smtp服务

spring.mail.password=ming438434//授权密码,非邮箱的登录密码

spring.mail.port=25

spring.mail.protocol=smtp

spring.mail.default-encoding=UTF-8

发件人邮箱的设置:

邮箱客户端授权码也需要手动开启,设置授权码

4.用户输入自己的邮箱,点击找回,前端页面

html代码:

请输入邮箱

js代码:

$(function () {

$("#registbtn").click(function() {

var user = {

mail:$("#mail").val()

}

$.ajax({

type: "POST",

url:"/mail.action",

contentType: "application/json;",

data: JSON.stringify(user),

success: function (data) {

if(data == "successful"){

alert("已发送至您的邮箱")

location.href="/login.html" rel="external nofollow" ;

}

if (data=="failful") {

alert("邮箱错误")

}

},

error: function (data) {

alert("网络繁忙")

}

});

});

});

5.点击找回,进入controller层

@RequestMGucMlxapping("/mail.action")

public String mail(@RequestBody User user) {

return mailService.sendMail(user);

}

service层

@Service

public class MailServiceImpl implements MailService{

@Autowired

private javaMailSender javaMailSender;

@Autowired

private UserMapper userMapper;

@Override

public String sendMail(User user) {

User user2 = mailPwd(user);

StringBuilder stringBuilder=new StringBuilder();

stringBuilder.append("

stringBuilder.append("亲爱的用户"+user2.getAccount()+",您的当前密码是:"+user2.getPassword());

stringBuilder.append("访问百度");

MimeMessage mimeMessage=javaMailSender.createMimeMessage();

//multipart模式

try {

MimeMessageHelper mimeMessageHelper=new MimeMessageHelper(mimeMessage, true);

mimeMessageHelper.setTo(user.getMail());//收件人邮箱user.getMail()

mimeMessageHelper.setFrom("sple_vip@163.com");//发件人邮箱

mimeMessage.setSubject("找回密码");

//启用html

mimeMessageHelper.setText(stringBuilder.toString(),true);

javaMailSender.send(mimeMessage);

return Constent.SUCCESSFUL;

} catch (MessagingException e) {

e.printStackTrace();

return Constent.FAILFUL;

}

}

/**

* 通过邮箱到数据库查询用户的信息

*/

@Override

public User mailPwd(User user) {

return userMapper.mailPwd(user);

}

}

dao层

public interface UserMapper {

/**

* 通过邮箱查询用户信息

*/

GucMlx @Select("SELECT * FROM user WHERE mail = #{mail}")

public User mailPwd(http://User user);

}

发送成功效果

这是一个简单的通过邮箱找回密码就完成了。


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:java实现俄罗斯方块游戏
下一篇:springboot实现邮箱验证码功能
相关文章

 发表评论

暂时没有评论,来抢沙发吧~