当前位置: 首页 > news >正文

泰安网站建设如何网页制作东莞

泰安网站建设如何,网页制作东莞,关键词优化精灵,电脑公司网站管理系统目录 一、导入依赖二、application.yml配置三、EmailService代码解读四、VerificationCodeUtils随机验证码代码解读五、controller层代码解读六、整体代码 一、导入依赖 dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-b… 目录 一、导入依赖二、application.yml配置三、EmailService代码解读四、VerificationCodeUtils随机验证码代码解读五、controller层代码解读六、整体代码 一、导入依赖 dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-mail/artifactId/dependency二、application.yml配置 spring:mail:host: smtp.qq.comport: 465username: 你的qq邮箱password: 你的qq邮箱授权码protocol: smtpsdefault-encoding: UTF-8 #默认编码格式properties:mail:debug: true #启动debug调试smtp:socketFactory:class: javax.net.ssl.SSLSocketFactory #SSL连接配置Spring Mail的配置信息用于设置邮件发送相关参数。 host: SMTP服务器的地址这里使用QQ邮箱的SMTP服务器地址。port: SMTP服务器监听的端口默认为25但QQ邮箱SMTP服务器采用SSL加密传输需要使用465端口。username: 发送邮件的邮箱账号这里填写QQ邮箱的账号。password: 发送邮件的邮箱账号的授权码用于验证邮箱身份这里也填写QQ邮箱的账号的授权码。protocol: 使用协议类型这里选择smtps即SMTP-over-SSL。default-encoding: 默认编码格式这里设置为UTF-8。debug: 是否启动调试模式当设置为true时会打印出更多调试信息。properties: 设定额外的属性这里设置了mail和smtp两个属性socketFactory则对应SSL连接所需的类。 三、EmailService代码解读 Service public class EmailService {创建一个名为EmailService的服务类。 Autowired private JavaMailSender mailSender;使用Spring的自动装配Autowired特性注入一个JavaMailSender实例作为依赖项。JavaMailSender是用于发送邮件的Spring框架中的接口。 Value(${spring.mail.username}) private String from;使用注释值(Value)来从配置文件中读取属性值这里指的是spring.mail.username的值并将其变量化成from。 public void sendMail(String to, String subject, String content) throws MessagingException {在服务类中定义名为sendMail的方法该方法接收三个参数(to、 subject和content)并且可以抛出MessagingException异常。 MimeMessage message mailSender.createMimeMessage();创建邮件消息对象message使用注入的mailSender的实例方法createMimeMessage()来创建相应的MIME消息。 MimeMessageHelper helper new MimeMessageHelper(message, true);创建一个帮助程序对象helper并将上述邮件消息message与之关联。true表示需要支持附件否则设为false。 helper.setFrom(from);设置发件人信息在此处由变量from表示。 helper.setTo(to);设置收件人信息该信息由传入的参数to表示。 helper.setSubject(subject);设置邮件主题该主题由传入的参数subject表示。 helper.setText(content, true);设置邮件正文并指示内容是否为HTML格式。内容是由传入的参数 content表示的。 mailSender.send(message);发送邮件使用注入的mailSender实例的方法send()来将构造好的message对象发送。 四、VerificationCodeUtils随机验证码代码解读 public class VerificationCodeUtils {这一行声明一个公共类public classVerificationCodeUtils。 public static String generateCode(int length) {这一行是声明一个公共的静态方法public static method名称为generateCode返回类型为字符串String其中有一个参数名称为length表示生成的验证码的长度。 StringBuilder s new StringBuilder();这一行是声明一个空白的字符串构建器StringBuilder用于存储生成的验证码。 Random random new Random();这一行是声明一个随机数生成器Random用来产生随机数字。 for (int i 0; i length; i) {int n random.nextInt(10);s.append(n);}这一段是循环生成随机数字并将其添加到指定长度的字符串构建器中。 return s.toString();} }五、controller层代码解读 Autowired private EmailService emailService;这行代码使用Spring的依赖注入自动将EmailService类的实例注入到emailService变量中。 private final MapString, String emailCodeMap new ConcurrentHashMap(16);这行代码声明一个并发哈希映射对象用于存储邮箱验证码的键值对信息。 PostMapping(/register) public ApiResponseString register(RequestBody Mail mail) throws MessagingException {这行代码通过PostMapping注解配置了一个基于HTTP POST方法的请求处理当收到路径为“/register”的请求时它会将请求体反序列化成Mail类型的mail参数。ApiResponse是响应结果的数据类型其中ResponseCode.SUCCESS表示成功状态码验证码已发送是结果消息的内容。 String code VerificationCodeUtils.generateCode(6);这行代码调用VerificationCodeUtils工具类的generateCode方法生成一个6位数字的随机验证码并将其保存在code变量中。 String subject 注册验证码; String content 尊敬的用户您的验证码为 code; emailService.sendMail(mail.email, subject, content);这三行代码设置邮件主题和内容然后使用调用EmailService的sendMail方法将邮件发送给指定的邮箱(mail.email)以及验证码的message。 emailCodeMap.put(mail.email, code);这行代码将邮箱验证码键值对信息放入emailCodeMap哈希映射中。 return new ApiResponse(ResponseCode.SUCCESS,验证码已发送);最后这行代码返回ApiResponse对象该对象包含了响应结果的状态码和消息内容。 六、整体代码 Autowiredprivate EmailService emailService;// 存储已发送的验证码private final MapString, String emailCodeMap new ConcurrentHashMap(16);PostMapping(/register)public ApiResponseString register(RequestBody Mail mail) throws MessagingException {// 检查邮箱是否已被注册// ...// 生成验证码String code VerificationCodeUtils.generateCode(6);// 发送邮件String subject 注册验证码;String content 尊敬的用户您的验证码为 code;emailService.sendMail(mail.email, subject, content);// 保存验证码emailCodeMap.put(mail.email, code);return new ApiResponse(ResponseCode.SUCCESS,验证码已发送);} Data public class Mail {public String email;public String username;public String password; } Service public class EmailService {Autowiredprivate JavaMailSender mailSender;Value(${spring.mail.username})private String from;/*** 发送邮件** param to 收件人邮箱* param subject 邮件主题* param content 邮件内容*/public void sendMail(String to, String subject, String content) throws MessagingException {// 创建邮件消息MimeMessage message mailSender.createMimeMessage();MimeMessageHelper helper new MimeMessageHelper(message, true);helper.setFrom(from);helper.setTo(to);helper.setSubject(subject);helper.setText(content, true);// 发送邮件mailSender.send(message);} } public class VerificationCodeUtils {/*** 生成随机验证码** param length 验证码长度* return 验证码*/public static String generateCode(int length) {StringBuilder s new StringBuilder();Random random new Random();for (int i 0; i length; i) {int n random.nextInt(10);s.append(n);}return s.toString();} }
http://wiki.neutronadmin.com/news/258349/

相关文章:

  • 北京网站建设华网天下深圳网站制作与建设公司
  • 工程建设举报网有哪些网站网站建设需要下载哪些软件有哪些
  • 专业的营销型网站最新报价广州建网站定制
  • 新乡个人网站建设哪家好电脑上如何进入wordpress
  • 做网站找哪个三亚河北建设招聘信息网站
  • 网站开发收获深圳市建设工程有限公司
  • 网站开发制作云盘wordpress把文章转语音
  • 青海集团网站建设常用的英文网站字体
  • 洛阳建设工程网站定制型网站制作公司
  • 汉语资源建设相关网站适合学生做网站的图片
  • 毕业设计网站设计免费网站如何被百度收录
  • wordpress custom post type兰州网站seo
  • 海南网站建设中心营销型网站建设系统
  • 山东跨境电商建站公司网站推荐货源
  • 网站开发游戏租车公司网站模板
  • 路由器上建网站请简述网站建设的方法
  • 吉林省建设项目招标网站外贸营销平台
  • 图书馆网站制作平江网页设计报价
  • 给境外网站网站做代理广西建设网上办事大厅
  • 做好三步网站改版工具不降权 无忧老师dz比wordpress速度快
  • wordpress提交工单seo营销课程培训
  • 营销型网站的概念给网站设置长尾关键词
  • 动漫建模代做网站百度一下做a的网站有哪些
  • 网站app的区别是什么投放广告
  • 做金融的看哪些网站网站策划案
  • 赣州人才网最新招聘信息2023年培训行业seo整站优化
  • 惠州规划建设局网站网站前台架构
  • 如何做好网站的优化网站建设论文提纲
  • 购物网站开发介绍前端做商城网站需要多久
  • 聊城专业做网站asp网站整站下载器