s-pig
2015-04-23 10:23
采纳率: 100%
浏览 5.1k
已采纳

javamail发送邮件问题 莫名其妙的 在线等

代码:
public class SendEmail extends HttpServlet{

public void doGet(HttpServletRequest request,
                  HttpServletResponse response)
        throws ServletException, IOException
{
    // 收件人的电子邮件 ID
   // String to = "1032960260@qq.com";
    //String to = "18523007240@163.com";
    // 收件人的电子邮件 ID
    String to = "1032960260@qq.com";
    // 发件人的电子邮件 ID
    String from = "1032960260@qq.com";
    // 假设您是从本地主机发送电子邮件
    String host = "smtp.qq.com";
    // 获取系统的属性
    Properties properties = System.getProperties();
    // 设置邮件服务器
    properties.put("mail.smtp.host", host);
    properties.put("mail.smtp.auth", "true");
    //Security.addProvider(new Provider());
    Authenticator authenticator = new MyAuthenticator("1032960260@qq.com", "a18523007240");
    Session session = Session.getDefaultInstance(properties,authenticator);
    session.setDebug(true);
    // 设置响应内容类型
    response.setContentType("text/html");
    PrintWriter out = response.getWriter();

    try{
        // 创建一个默认的 MimeMessage 对象
        MimeMessage message = new MimeMessage(session);
        // 设置 From: header field of the header.
        message.setFrom(new InternetAddress(from));
        // 设置 To: header field of the header.
        message.addRecipient(Message.RecipientType.TO,
                new InternetAddress(to));
        // 设置 Subject: header field
        message.setSubject("This is the Subject Line!");
        // 现在设置实际消息
        message.setText("This is actual message");
        // 发送消息
        Transport transport = session.getTransport("smtp");
        transport.connect("smtp.qq.com","1032960260@qq.com", "a18523007240");
        transport.sendMessage(message, message.getAllRecipients());
        transport.close();
        System.out.println("sent suc");
    }catch (MessagingException mex) {
        out.print(mex.toString());
        mex.printStackTrace();
    }
}

}
错误提示:

EHLO idea-PC
250-smtp.qq.com
250-PIPELINING
250-SIZE 52428800
250-STARTTLS
250-AUTH LOGIN PLAIN
250-AUTH=LOGIN
250-MAILCOMPRESS
250 8BITMIME
DEBUG SMTP: Found extension "PIPELINING", arg ""
DEBUG SMTP: Found extension "SIZE", arg "52428800"
DEBUG SMTP: Found extension "STARTTLS", arg ""
DEBUG SMTP: Found extension "AUTH", arg "LOGIN PLAIN"
DEBUG SMTP: Found extension "AUTH=LOGIN", arg ""
DEBUG SMTP: Found extension "MAILCOMPRESS", arg ""
DEBUG SMTP: Found extension "8BITMIME", arg ""
DEBUG SMTP: Attempt to authenticate using mechanisms: LOGIN PLAIN DIGEST-MD5 NTLM
DEBUG SMTP: AUTH LOGIN command trace suppressed
javax.mail.AuthenticationFailedException: 530 Error: Blocked By Device Lock

DEBUG SMTP: AUTH LOGIN failed
at com.sun.mail.smtp.SMTPTransport$Authenticator.authenticate(SMTPTransport.java:826)
at com.sun.mail.smtp.SMTPTransport.authenticate(SMTPTransport.java:761)
at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:685)
at javax.mail.Service.connect(Service.java:317)
at javax.mail.Service.connect(Service.java:176)
at servlet.SendEmail.doGet(SendEmail.java:61)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:620)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:96)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:503)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:421)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1070)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:611)
at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.doRun(AprEndpoint.java:2462)
at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:2451)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:745)

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • blownewbee 2015-04-23 10:27
    已采纳

    提示很清楚,登录失败,检查你的用户名、密码,qq的smtp服务器地址、端口,它是否允许你连。

    点赞 打赏 评论

相关推荐 更多相似问题