该过程仅供参考,若有优化与建议,欢迎提出。
目录- 依赖
- 邮箱验证
- 邮箱工具类
- 检查邮箱格式
- Cache缓存
- SendEmail方法
- token 生成
javax.mail
mail
1.4.7
com.google.guava
guava
28.2-jre
邮箱验证
邮箱工具类
此处用的是线程的方式,Callable更容易设置是否超时
import java.util.Date; import java.util.Properties; import java.util.concurrent.Callable; import javax.mail.Message; import javax.mail.Session; import javax.mail.Transport; import javax.mail.internet.InternetAddress; import javax.mail.internet.MimeMessage; public class SEmail implements Callable{ private static String USERNAME = "";//邮箱地址XXX@XX.XX private static String PASSWORD = "";//填写你的邮箱的授权码 private static String HOST = "";//选择一个可用的服务器 private String email;//目标邮箱 private String code;//生成的验证码 public SEmail(String email,String code){ this.email = email; this.code = code; } public Boolean call() throws Exception{ Transport transport = null; Properties prop = new Properties(); prop.setProperty("mail.smtp.host", HOST); prop.setProperty("mai.transport.protocol", "smtp"); prop.setProperty("mail.smtp.auth","true"); Session session = Session.getDefaultInstance(prop); MimeMessage message = new MimeMessage(session); message.setFrom(new InternetAddress(USERNAME)); message.setRecipient(Message.RecipientType.TO,new InternetAddress(email)); message.setSentDate(new Date()); message.setSubject("邮件验证码"); String info = "rn" + "rn" + " rn" + " 验证码 rn" + "rn" + " rn" + " 欢迎您使用XXX,这是您的验证码,请于X分钟内输入激活码rn" + ""+ code +"
"+ " rn" + "


