package com.example.test.thread;
import com.example.test.TestApplication;
import com.example.test.bean.UserBean;
import com.example.test.controller.LoginController;
import com.sun.mail.util.MailSSLSocketFactory;
import javax.mail.*;
import javax.mail.internet.AddressException;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import java.security.GeneralSecurityException;
import java.util.Properties;
import java.util.Random;
public class MySendMailThread extends Thread {
public static StringBuilder run(StringBuilder sb){
String str="ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
sb=new StringBuilder(4);
for(int i=0;i<4;i++)
{
char ch=str.charAt(new Random().nextInt(str.length()));
sb.append(ch);
}
return sb;
}
public UserBean userBean;
public MySendMailThread(UserBean userBean) {
this.userBean = userBean;
}
@Override
public void run() {
StringBuilder sb = null;
StringBuilder a = run(sb);
Properties p = new Properties();
p.setProperty("mail.host", "smtp.qq.com");
p.setProperty("mail.smtp.auth", "true");
p.setProperty("mail.transport.protocol", "smtp");
MailSSLSocketFactory sf = null;
try {
sf = new MailSSLSocketFactory();
} catch (GeneralSecurityException e1) {
e1.printStackTrace();
}
sf.setTrustAllHosts(true);
p.put("mail.smtp.ssl.enable", "true");
p.put("mail.smtp.ssl.socketFactory", sf);
Session session = Session.getDefaultInstance(p, new Authenticator() {
@Override
protected PasswordAuthentication getPasswordAuthentication() {
PasswordAuthentication pa = new PasswordAuthentication(
"2476612035@qq.com", "kqyxtmqqvbcieajc");
return pa;
}
});
session.setDebug(true);
try {
MimeMessage msg = new MimeMessage(session);
msg.setFrom(new InternetAddress("2476612035@qq.com"));
msg.setRecipient(MimeMessage.RecipientType.TO, new InternetAddress(userBean.getemail()));
msg.setSubject(userBean.getName() + ",欢迎注册智能路灯系统账号,请点击链接激活账号");
StringBuilder sbd = new StringBuilder();
sbd.append(userBean.getName() + "<br/>欢迎!请确认此邮件地址以激活您的账号。<br/>");
sbd.append("<font color='red'><a href='http://127.0.0.1:8080/login?name="
+ userBean.getName() + "' target='_blank'");
sbd.append(">立即激活</a></font><br/>");
sbd.append("或者输入下面验证码:<br/>");
sbd.append("验证码为:" + a.toString() + "<br/>");
LoginController.setMap(a.toString(), userBean.getemail());
sbd.append("这是一封自动发送的邮件;如果您并未要求但收到这封信件,您不需要进行任何操作。");
msg.setContent(sbd.toString(), "text/html;charset=utf-8");
Transport.send(msg);
System.out.println("给" + userBean.getemail() + "发送邮件成功。");
} catch (AddressException e) {
e.printStackTrace();
} catch (MessagingException e) {
e.printStackTrace();
}
}
}
package com.example.test.thread;
import com.example.test.bean.UserBean;
import com.example.test.mapper.UserMapper;
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
public class Test1 {
HashMap<String,String> map=new HashMap<String,String>();
private static Map<String, String> yzMap = new HashMap<>();
public static void main(String[] args) {
UserBean userBean = new UserBean();
userBean.setemail("3533163058@qq.com");
userBean.setName("gaosheng");
MySendMailThread mySendMailThread = new MySendMailThread(userBean);
mySendMailThread.start();
Scanner sc = new Scanner(System.in);
String yzm = sc.nextLine();
System.out.println(yz(yzm, "3533163058@qq.com"));
}
public static void setMap(String yz, String email){
yzMap.put(email, yz);
System.out.println(yz);
}
public static boolean yz(String yz, String email) {
boolean res = false;
String yzm = yzMap.get(email);
if (yzm != null && yzm.equals(yz)){
res = true;
}
return res;
}
}