2021年4月26日:
今天完成了完整的登录和注册功能,以下是我的验证QQ邮箱的代码:
package com.atguigu.crud.utils;
import org.springframework.stereotype.Component;
import javax.mail.*;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import java.util.Properties;
@Component
public class QQMailTool {
public static void sendMail(String mail, String title, String content) throws MessagingException {
Properties properties = new Properties();
properties.setProperty("mail.smtp.host", "smtp.qq.com");// 发送邮箱服务器
properties.setProperty("mail.smtp.port", "465");// 发送端口
properties.setProperty("mail.smtp.auth", "true");// 是否开启权限控制
properties.setProperty("mail.debug", "true");// true 打印信息到控制台
properties.setProperty("mail.transport", "smtp");// 发送的协议是简单的邮件传输协议
properties.setProperty("mail.smtp.ssl.enable", "true");
// 建立两点之间的链接
Session session = Session.getInstance(properties, new Authenticator() {
@Override
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication("18723467657@qq.com", "fgocpugbrhumcdbh");
}
});
// 创建邮件对象
Message message = new MimeMessage(session);
// 设置发件人
try {
message.setFrom(new InternetAddress("18723467657@qq.com"));
// 设置收件人
message.setRecipient(Message.RecipientType.TO, new InternetAddress(mail));// 收件人
// 设置主题
message.setSubject(title);
// 设置邮件正文 第二个参数是邮件发送的类型
message.setContent(content, "text/html;charset=UTF-8");
// 发送一封邮件
Transport transport = session.getTransport();
transport.connect("18723467657@qq.com", "fgocpugbrhumcdbh");
Transport.send(message);
} catch (javax.mail.AuthenticationFailedException e) {
e.printStackTrace();
throw e;
} catch (javax.mail.MessagingException e) {
e.printStackTrace();
throw e;
} finally {
}
}
}
生成验证码的代码:
package com.atguigu.crud.utils;
import java.util.Random;
public class ValidateCodeTool {
public static String generateCode(){
String str="0123456789";
StringBuilder sb=new StringBuilder(5);
for(int i=0;i<5;i++)
{
char ch=str.charAt(new Random().nextInt(str.length()));
sb.append(ch);
}
return sb.toString();
}
}
此段代码就是用于QQ邮件的验证,发件人就是用的我的QQ邮箱进行发送,当用户第一次注册之后就会向其QQ邮箱发送一条验证码,并且要求用户在5分钟之内进行验证不然验证码就会失效并且要求重新发送一条验证码。当用户第一次登陆之后,就需要跳转到此页面进行信息的完善,然后才能进行其他的操作。