首先的话我们打开QQ邮箱(地址:登录QQ邮箱);
然后点击设置
再然后找到账户点击开启因为我已经开启了所以这里初始化时要开启的
然后我们得开启授权码,注意这个授权码我们得记下来因为这个授权码我们是要在代码里面使用得
然后我们得导入相关得依赖
<!--QQ邮箱验证码所需jar包-->
<dependency>
<groupId>javax.activation</groupId>
<artifactId>activation</artifactId>
<version>1.1.1</version>
</dependency>
<dependency>
<groupId>javax.mail</groupId>
<artifactId>mail</artifactId>
<version>1.4.7</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-email</artifactId>
<version>1.4</version>
</dependency>
然后我们可以写一个随机验证码得工具类来进行验证
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
public class QqRandom {
public static String achieveCode() {
String[] beforeShuffle = new String[]{"2", "3", "4", "5", "6", "7", "8", "9", "A", "B", "C", "D", "E", "F",
"G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "a",
"b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v",
"w", "x", "y", "z"};
List list = Arrays.asList(beforeShuffle);//将数组转换为集合
Collections.shuffle(list);//打乱顺序
StringBuilder stringBuilder=new StringBuilder();
for(int i=0;i<list.size();i++){
String s=(String) list.get(i);
//进行追加
stringBuilder.append(s);
}
//对字符串进行截取
return stringBuilder.toString().substring(3,8);
}
}
然后我们可以开始写入代码了
import com.atguigu.util.QqRandom;
import org.apache.commons.mail.EmailException;
import org.apache.commons.mail.SimpleEmail;
public class QqEmailTest {
//发送邮件代码
public static void sendAuthCodeEmail() {
try {
String authCode= QqRandom.achieveCode();
SimpleEmail mail = new SimpleEmail();
mail.setHostName("smtp.qq.com");//发送邮件的服务器
mail.setAuthentication("你的qq邮箱","你的授权码");//刚刚记录的授权码,是开启SMTP的密码
mail.setFrom("你的qq邮箱","发件人的昵称"); //发送邮件的邮箱和发件人
//mail.setSSLOnConnect(true); //使用安全链接
mail.setSmtpPort(587);
mail.addTo("收信人邮箱");//接收的邮箱
//System.out.println("email"+email);
mail.setSubject("注册验证码");//设置邮件的主题
mail.setMsg("尊敬的用户:你好!\n 注册验证码为:" + authCode+"\n"+" (有效期为一分钟)");//设置邮件的内容
mail.send();//发送
} catch (EmailException e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
QqEmailTest.sendAuthCodeEmail();
}
}