Java实现QQ邮箱验证码发送

打开QQ邮箱里的POP/SMTP服务
Java实现QQ邮箱验证码发送_第1张图片
导入所需jar包


<dependency>
	<groupId>javax.activationgroupId>
	<artifactId>activationartifactId>
	<version>1.1.1version>
dependency>

<dependency>
	<groupId>javax.mailgroupId>
	<artifactId>mailartifactId>
	<version>1.4.7version>
dependency>

<dependency>
	<groupId>org.apache.commonsgroupId>
	<artifactId>commons-emailartifactId>
	<version>1.4version>
dependency>

测试,验证码可由工具类随机生成,这里不再赘述。

import org.apache.commons.mail.EmailException;
import org.apache.commons.mail.SimpleEmail;

public class SendEmail {

    /**
     * 发送邮件代码
     * @param targetEmail 目标邮箱
     * @param authCode 验证码
     */
    public static void sendEmailCode(String targetEmail, String authCode) {
        try {
            SimpleEmail mail = new SimpleEmail();
            // 发送邮件的服务器
            mail.setHostName("smtp.qq.com");
            // 刚刚记录的授权码,是开启SMTP的密码
            mail.setAuthentication("[email protected]", "授权码");
            // 发送邮件的邮箱和发件人
            mail.setFrom("[email protected]", "桃花er");
            // 使用安全链接
            mail.setSSLOnConnect(true);
            // 接收的邮箱
            mail.addTo(targetEmail);
            // 邮件的主题
            mail.setSubject("注册验证码");
            // 邮件的内容
            mail.setMsg("验证码为:" + authCode);
            // 发送
            mail.send();
        } catch (EmailException e) {
            e.printStackTrace();
        }
    }
    
    public static void main(String[] args) {
        sendEmailCode("[email protected]", "123456");
    }
}

你可能感兴趣的:(java,验证码,QQ邮箱)