注冊賬號時郵箱驗證問題!
class javax.mail.AuthenticationFailedException
at javax.mail.Transport.send0(Transport.java:218)
at javax.mail.Transport.send(Transport.java:80)
at MailUtils.MailUtils.sendAccountActivateEmail(MailUtils.java:47)
at servlet.ListServlet_user.doPost(ListServlet_user.java:193)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:647)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1008)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:722)
代碼
package MailUtils;
import java.util.Date;
import java.util.Properties;
import javax.mail.Authenticator;
import javax.mail.MessagingException;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMessage.RecipientType;
import tool.GenerateLinkUtils;
import entity.User;
public class MailUtils {
private static final String FROM = "[email protected]";
public static void sendAccountActivateEmail(User user) {
Session session = getSession();
MimeMessage message = new MimeMessage(session);
try {
message.setSubject("這是一封激活賬號的郵件");
message.setSentDate(new Date());
//setFrom 表示用哪個郵箱發送郵件
message.setFrom(new InternetAddress(FROM));
/**
* RecipientType.TO||BCC||CC
* TO表示主要接收人
* BCC表示秘密抄送人
* CC表示抄送人
* InternetAddress 接收者的郵箱地址
*/
message.setRecipient(RecipientType.TO, new InternetAddress(user.getEmail()));
message.setContent("<a target='_BLANK' href='"+GenerateLinkUtils.generateActivateLink(user)+"'>"+user.getUserName()+"先生/女士您好,請點擊此鏈接激活賬號"+GenerateLinkUtils.generateActivateLink(user)
+"</a>","text/html;charset=utf-8");
//message.setContent("<a target='_BLANK' href='"+user.getUserName()+"先生/女士您好,請點擊此鏈接激活賬號"+GenerateLinkUtils.generateActivateLink(user)+"</a>","text/html;charset=utf-8");
Transport.send(message);
} catch (MessagingException e) {
e.printStackTrace();
}
}
public static Session getSession() {
Properties props = new Properties();
props.setProperty("mail.transport.protocol", "SMTP");
props.setProperty("mail.host", "smtp.qq.com");
props.setProperty("mail.smtp.auth", "true");// 指定驗證為true
props.put("mail.smtp.ssl.enable", "true");
Session session = Session.getInstance(props, new Authenticator() {
@Override
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(FROM, "swghmvjbicmmcaih");
}
});
return session;
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/65601.html
標籤:其他
上一篇:jsPlumb流程圖插件集成在vue-cli框架中,路由切換流程圖端點不能渲染
下一篇:新浪微博被劫持了!~求大神解答
