简体   繁体   English

Apache Commons Mail异常..收件人地址被拒绝:虚拟别名表中的用户未知

[英]Apache commons mail Exception..Recipient address rejected: User unknown in virtual alias table

I have two emails of my own domain. 我有两个属于自己域的电子邮件。 One is configured in the domain and other is configured in gmail (admin.google.com). 一个在域中配置,另一个在gmail (admin.google.com)中配置。

My code 我的密码

    HtmlEmail htmlEmail = new HtmlEmail();
    htmlEmail.setHostName("mydomain.com");
    htmlEmail.setSmtpPort(587);
    htmlEmail.setAuthenticator(new DefaultAuthenticator(
            "enquiry@mydomain.com", "password"));


        htmlEmail.setFrom("enquiry@mydomain.com", " Enquiry");
        htmlEmail.setSubject("New Enquiry");
        htmlEmail.setHtmlMsg("My message");
        htmlEmail.addTo("info@mydomain.com");

        htmlEmail.send();

When I send mail from the domain configured email(enquiry@mydomain.com) to gmail configured email(info@mydomain.com) it shows the following error: 当我从域配置的电子邮件(enquiry@mydomain.com)向gmail配置的电子邮件(info@mydomain.com)发送邮件时,它显示以下错误:

org.apache.commons.mail.EmailException: Sending the email to the following server failed : mydomain.com:587 org.apache.commons.mail.EmailException:将电子邮件发送到以下服务器失败:mydomain.com:587
at org.apache.commons.mail.Email.sendMimeMessage(Email.java:1421) 在org.apache.commons.mail.Email.sendMimeMessage(Email.java:1421)
at org.apache.commons.mail.Email.send(Email.java:1448) 在org.apache.commons.mail.Email.send(Email.java:1448)
at com.myproject.test.HomeController.sendEmail(HomeController.java:153) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) 在com.myproject.test.HomeController.sendEmail(HomeController.java:153)在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)在sun.reflect.NativeMethodAccessorImpl.invoke(未知源)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) 在sun.reflect.DelegatingMethodAccessorImpl.invoke(未知来源)
at java.lang.reflect.Method.invoke(Unknown Source) 在java.lang.reflect.Method.invoke(未知来源)
at org.springframework.web.method.support.InvocableHandlerMethod.invoke(InvocableHandlerMethod.java:213) at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:126) at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:96) at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:617) at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:578) at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:80) at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:923) at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:852) at org.springframework.web.servlet.FrameworkServle 在org.springframework.web.servlet的org.springframework.web.method.support.InvocableHandlerMethod.invoke(InvocableHandlerMethod.java:213)处org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:617)上的.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:96)在org.springframework.web.servlet .mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:578)在org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:80)在org.springframework.web.servlet.DispatcherServlet org.springframework.web.servlet..doDispatch(DispatcherServlet.java:923)org.springframework.web.servlet.FrameworkServle的DispatcherServlet.doService(DispatcherServlet.java:852) t.processRequest(FrameworkServlet.java:882) at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:789) at javax.servlet.http.HttpServlet.service(HttpServlet.java:644) org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:789)的t.processRequest(FrameworkServlet.java:882)在javax.servlet.http.HttpServlet.service(HttpServlet.java:644)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:725) 在javax.servlet.http.HttpServlet.service(HttpServlet.java:725)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:291) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:142) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79) at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:610) at org.apache.catali 在org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:291)在org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)在org.apache.tomcat.websocket.server.WsFilter org上的org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)的.doFilter(WsFilter.java:52)org上的org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)的.doFilter(WsFilter.java:52) org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)上的apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219)org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase。 java:501)位于org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:142)位于org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)位于org.apache.catalina.valves org.apache.catali上的.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:610) na.core.StandardEngineValve.invoke(StandardEngineValve.java:88) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:516) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1086) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:659) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:147) at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:279) at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.lang.Thread.run(Unknown Source) Caused by: javax.mail.SendFailedException: Invalid Addresses; na.core.StandardEngineValve.invoke(StandardEngineValve.java:88)在org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:516)在org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java: 1086)于org.apache.coyote.http11.Http11Protocol $ Http11ConnectionHandler.process(Http11Protocol.java:147)于org.apache.coyote.AbstractProtocol $ AbstractConnectionHandler.process(AbstractProtocol.java:659) .net.JIoEndpoint $ SocketProcessor.run(JIoEndpoint.java:279)在org.apache上的java.util.concurrent.ThreadPoolExecutor.runWorker(未知源)在java.util.concurrent.ThreadPoolExecutor $ Worker.run(未知源) java.lang.Thread.run上的tomcat.util.threads.TaskThread $ WrappingRunnable.run(TaskThread.java:61)(未知来源)原因:javax.mail.SendFailedException:无效的地址; nested exception is: com.sun.mail.smtp.SMTPAddressFailedException: 550 5.1.1 : Recipient address rejected: User unknown in virtual alias table at com.sun.mail.smtp.SMTPTransport.rcptTo(SMTPTransport.java:1949) at com.sun.mail.smtp.SMTPTransport.sendMessage(SMTPTransport.java:1195) at javax.mail.Transport.send0(Transport.java:254) at javax.mail.Transport.send(Transport.java:124) at org.apache.commons.mail.Email.sendMimeMessage(Email.java:1411) ... 39 more Caused by: com.sun.mail.smtp.SMTPAddressFailedException: 550 5.1.1 : Recipient address rejected: User unknown in virtual alias table at com.sun.mail.smtp.SMTPTransport.rcptTo(SMTPTransport.java:1802) 嵌套的异常是:com.sun.mail.smtp.SMTPAddressFailedException:550 5.1.1:收件人地址被拒绝:com上com.sun.mail.smtp.SMTPTransport.rcptTo(SMTPTransport.java:1949)的虚拟别名表中的用户未知机构的javax.mail.Transport.send0(Transport.java:254)的.sun.mail.smtp.SMTPTransport.sendMessage(SMTPTransport.java:1195)在组织的javax.mail.Transport.send(Transport.java:124) apache.commons.mail.Email.sendMimeMessage(Email.java:1411)... 39更多原因:com.sun.mail.smtp.SMTPAddressFailedException:550 5.1.1:收件人地址被拒绝:虚拟别名表中的用户未知com.sun.mail.smtp.SMTPTransport.rcptTo(SMTPTransport.java:1802)

The root-cause seems to be Recipient address rejected: User unknown in virtual alias table , which indicates that the SMTP-server that you are sending to rejects the email because it does not know the email-address that you specified. 根本原因似乎是Recipient address rejected: User unknown in virtual alias table ,这表明您要发送给SMTP服务器拒绝电子邮件,因为它不知道您指定的电子邮件地址。

So either the email-address is incorrect or the SMTP-server needs to be configured properly to accept this email-address that you specify in the to and sender fields. 所以,无论是电子邮件地址不正确,或SMTP服务器需要进行适当配置,以接受您在指定此电子邮件地址tosender域。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM