开发者社区> 问答> 正文

求大神!!!163邮箱发邮件,报553 Local user is not allowed?报错

用 javamail + freemarker 发送HTML的demo邮件,企业邮可以发送,但是转到163就报出了个553。已开启smtp、授权码服务。

程序参数如下:

        String host = "220.181.14.154";
        String fromEmail = "15915845114@163.com";
        String password = "****";
        String nickname = "昵称163";

        prop.put("mail.smtp.host", this.host);
        prop.put("mail.smtp.auth", this.auth);
        prop.put("mail.smtp.user", this.fromEmail);
        prop.put("mail.smtp.password", this.password);
        prop.put("mail.transport.protocol", "smtp");
        prop.put("mail.smtp.starttls.enable", true);

邮件内容:

                                                 

                关于进一步改进计划方案

                                尊敬的领导:

                                        今天,我们去了九阳。

 

                                                ------

端口我没有设置,跑的时候先ping了那个ip,可以跑通。

报错内容:

com.sun.mail.smtp.SMTPSendFailedException: 553 Local user is not allowed,163 mx32,UsCowEA5v1ezmdNYet5KCg--.47619S3 1490262453
;
  nested exception is:
    com.sun.mail.smtp.SMTPSenderFailedException: 553 Local user is not allowed,163 mx32,UsCowEA5v1ezmdNYet5KCg--.47619S3 1490262453
    at com.sun.mail.smtp.SMTPTransport.issueSendCommand(SMTPTransport.java:2108)
    at com.sun.mail.smtp.SMTPTransport.mailFrom(SMTPTransport.java:1609)
    at com.sun.mail.smtp.SMTPTransport.sendMessage(SMTPTransport.java:1117)
    at javax.mail.Transport.send0(Transport.java:195)
    at javax.mail.Transport.send(Transport.java:124)
    at cn.itexplorer.mail.util.MailSender.SendEmail(MailSender.java:204)
    at cn.itexplorer.mail.demo.MailCtrl.index(MailCtrl.java:127)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    at com.jfinal.aop.Invocation.invoke(Invocation.java:71)
    at com.jfinal.core.ActionHandler.handle(ActionHandler.java:74)
    at com.jfinal.core.JFinalFilter.doFilter(JFinalFilter.java:72)
    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:218)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:505)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:169)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:958)

    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:452)
    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1087)
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:637)
    at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.doRun(AprEndpoint.java:2517)

    at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:2506)
    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)
Caused by: com.sun.mail.smtp.SMTPSenderFailedException: 553 Local user is not allowed,163 mx32,UsCowEA5v1ezmdNYet5KCg--.47619S3 1490262453

    at com.sun.mail.smtp.SMTPTransport.mailFrom(SMTPTransport.java:1616)

    ... 30 more
 

展开
收起
爱吃鱼的程序员 2020-06-08 16:02:50 2971 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

    经分析,原因如下:邮件发送不允许直接指向固定ip(host必须是域名),这是邮箱服务器内部的一个安全机制,可防止大流量的恶意攻击固定ip。邮箱服务内部保护了ip地址,用户要访问时只能通过其提供的域名访问,经服务器解析,再随机分发到某一个ip上。

    用qq的好了,申请个免费企业邮箱,163的好像是新用户不允许使用smtp

    我用朋友的老帐号来试,也是一样。另外,ip是官方给出的。

    需要单独申请一个类似token的密码,用账号的密码是不行的。

     

    似乎叫,客户端授权码。

    2020-06-08 16:03:07
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载