spring发送邮件

た 入场券 2022-02-24 03:28 341阅读 0赞

场景:用户忘记密码时,发送邮箱验证码找回密码

(一)导包

  1. <dependency>
  2. <groupId>javax.mail</groupId>
  3. <artifactId>mail</artifactId>
  4. <version>1.4.1</version>
  5. </dependency>

(二)applicationContext.xml配置

  1. <bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl">
  2. <!-- 163邮箱,smtp.163.com -->
  3. <!-- admin@163.com 用户名:admin 密码:xxx -->
  4. <!-- smtp邮件发送协议 -->
  5. <!-- pop3收邮件协议 -->
  6. <property name="host" value="smtp.163.com" />
  7. <property name="username" value="123456" />
  8. <property name="password" value="开启POP3/SMTP服务,生成的授权码" />
  9. <property name="javaMailProperties">
  10. <props>
  11. <!-- 必须进行授权认证,它的目的就是阻止他人任意乱发邮件 -->
  12. <prop key="mail.smtp.auth">true</prop>
  13. <!-- SMTP加密方式:连接到一个TLS保护连接 -->
  14. <prop key="mail.smtp.starttls.enable">true</prop>
  15. </props>
  16. </property>
  17. </bean>

注意:发送的邮箱要开启POP3/SMTP服务,生成授权码

(三)controller代码

  1. try {
  2. //设定mail server
  3. senderImpl.setHost("smtp.qq.com");
  4. //建立邮件消息,发送简单邮件和html邮件的区别
  5. MimeMessage mailMessage = senderImpl.createMimeMessage();
  6. MimeMessageHelper messageHelper = new MimeMessageHelper(mailMessage,"UTF-8");
  7. //设置收件人,寄件人
  8. messageHelper.setTo(email);
  9. messageHelper.setFrom("xxxx@qq.com");
  10. messageHelper.setSubject("密码找回");
  11. //true 表示启动HTML格式的邮件
  12. messageHelper.setText("<html><head></head><body><a href=''>点击链接找回密码</a></body></html>",true);
  13. //发送邮件
  14. senderImpl.send(mailMessage);
  15. } catch (Exception e) {
  16. e.printStackTrace();
  17. }

发表评论

表情:
评论列表 (有 0 条评论,341人围观)

还没有评论,来说两句吧...

相关阅读

    相关 spring mail 发送邮件

    最近在项目中用到了发送邮件的功能(用户注册邮箱激活、用户密码重置邮箱获取验证码等等),所以写了一下java的邮件发送。 java mail java mail是最早出现