实现163邮箱发送邮件功能

准备工作:
先有一个163邮箱账号: 做一些邮件发送的设置
实现163邮箱发送邮件功能
实现163邮箱发送邮件功能
勾选相关服务设置,并且设置客户端授权密码,这个密码是需要在代码中输入的,相当于是你发件箱的客户端密码。

代码准备:

  1. 引入相关依赖包
		<!-- 支持发送邮件 -->
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-mail</artifactId>
		</dependency>
  1. 在配置文件中注入发送邮件的属性信息
# 邮箱发送验证码相关
spring.mail.default-encoding=UTF-8
spring.mail.host=smtp.163.com
#端口
spring.mail.port=25
#协议
spring.mail.protocol=smtp
#发送者的邮箱账号
[email protected]
#发送者的邮箱密码
spring.mail.password=huan6`(此处设置的是客户端密码)
  1. 发送邮件代码
 @Autowired
    private JavaMailSender jms;
    /**
     * 实现邮箱发送
     * @param map
     * @return
     */
    @Override
    public String sendEmailCode(Map<String, Object> map) {

        String email = (String)map.get("email");
        // 生成随机验证码
        //int ecode = (int) ((Math.random() * 9 + 1) * 100000);
        String ecode = createRandomNum(6);
        //建立邮件消息
        try {
            SimpleMailMessage mainMessage = new SimpleMailMessage();
            //发送者  TODO
            mainMessage.setFrom(sendEmail);  .// 发件箱
            //接收者
            mainMessage.setTo(email);
            //发送的标题
            mainMessage.setSubject("two room 邮箱验证码");
            //发送的内容
            mainMessage.setText("您好,本次邮箱验证码为:"+ecode+"  ,验证码在30分钟之内有效。");
            jms.send(mainMessage);
        }catch (Exception e){
            e.printStackTrace();
            LOGGER.error("邮箱发送失败,请检查邮箱 {} ",e);
            return "";
        }
        return ecode;
    }
 

到目前为止就能发送邮件了。

在这里补充一下自己遇到的一个小坑: 部署在服务器上,记得开放邮箱端口 25
实现163邮箱发送邮件功能
如果自己部署项目的服务上没有开放该端在这里插入图片描述口,是无法实现邮件发送的。

看到博客是缘分,那就扫一扫吧
实现163邮箱发送邮件功能