admin管理员组

文章数量:1663656

Java使用QQ邮箱发送验证码

1. 开启服务,获取授权码

需登录自己的QQ邮箱,打开 POP3/SMTP 服务,并获取授权码。

具体操作:

  • 登录邮箱
  • 邮箱首页 “设置”
  • 选择 “账户”
  • 找到 POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务 这一项
  • 开启 POP3/SMTP服务
  • 验证完密保之后,获取授权码,保存备用

2. Java实现

2.1 导入 maven 依赖

注意:该依赖下载来源于阿里云仓库

<dependency>
	<groupId>commons-email</groupId>
	<artifactId>commons-email</artifactId>
	<version>1.1</version>
</dependency>

2.2 具体实现

SendEmailCode.java

import org.apache.commons.mail.HtmlEmail;
import java.util.Properties;

/**
 * 通过QQ邮箱发送验证码
 */
public class SendEmailCode {
	
    public void send(){
        Properties p = new Properties();
        try {
            HtmlEmail send = new HtmlEmail();
          	// 固定值,QQ邮箱服务
            send.setHostName("smtp.qq"); 
          	// 固定值,QQ邮箱端口号
            send.setSmtpPort(465); 
            send.setCharset("utf-8");
            send.setSSL(true);
          	// 接收者的Eamil
            send.addTo("xxxx@163");
          	// 参数1:发送者的QQEamil,参数2:发送者显示名字
            send.setFrom("xxxx@qq", "验证码服务"); 
          	// 参数1:发送者的QQEmail,参数2:第一步获取的授权码
            send.setAuthentication("xxxx@qq", "xxxxxxx"); 
          	// 邮件标题
            send.setSubject("验证码");
          	// 邮件内容
            send.setMsg("你好!验证码是666666.");
            send.send();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

经过测试,163邮箱 和 QQ邮箱 均可收到验证码。

本文标签: 验证码最简单邮箱qqJava