Java Apache commons邮件异常..拒绝收件人地址:虚拟别名表中的用户未知
我有两封属于我自己领域的电子邮件。一个在域中配置,另一个在Java Apache commons邮件异常..拒绝收件人地址:虚拟别名表中的用户未知,java,apache,email,apache-commons-email,Java,Apache,Email,Apache Commons Email,我有两封属于我自己领域的电子邮件。一个在域中配置,另一个在gmail(admin.google.com)中配置 我的代码 当我从域配置的电子邮件发送邮件时(enquiry@mydomain.com)到gmail配置的电子邮件(info@mydomain.com)它显示以下错误: org.apache.commons.mail.EmailException:将电子邮件发送到 以下服务器失败:mydomain.com:587 位于org.apache.commons.mail.Email.sendM
gmail
(admin.google.com)中配置
我的代码
当我从域配置的电子邮件发送邮件时(enquiry@mydomain.com)到gmail配置的电子邮件(info@mydomain.com)它显示以下错误:
org.apache.commons.mail.EmailException:将电子邮件发送到
以下服务器失败:mydomain.com:587位于org.apache.commons.mail.Email.sendMimeMessage(Email.java:1421)
在org.apache.commons.mail.Email.send(Email.java:1448)
在com.myproject.test.HomeController.sendmail上(HomeController.java:153) 在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)处 在sun.reflect.NativeMethodAccessorImpl.invoke(未知源)
在sun.reflect.DelegatingMethodAccessorImpl.invoke(未知源)
位于java.lang.reflect.Method.invoke(未知源)
位于org.springframework.web.method.support.InvocableHandlerMethod.invoke(InvocableHandlerMethod.java:213) 位于org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:126) 位于org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:96) 位于org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:617) 位于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.doDispatch(DispatcherServlet.java:923) 位于org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:852) 位于org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:882) 位于org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:789) 位于javax.servlet.http.HttpServlet.service(HttpServlet.java:644)
位于javax.servlet.http.HttpServlet.service(HttpServlet.java:725)
位于org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:291) 在 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 在 org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) 在 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239) 在 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 在 org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219) 在 org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106) 在 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.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:610) 在 org.apache.catalina.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.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:659) 在 org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:147) 在 org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:279) 位于java.util.concurrent.ThreadPoolExecutor.runWorker(未知源) 位于java.util.concurrent.ThreadPoolExecutor$Worker.run(未知源) 在 org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) 在java.lang.Thread.run(未知源)处,由以下原因引起: javax.mail.SendFailedException:无效地址;嵌套异常 is:com.sun.mail.SMTPAddressFailedException:550 5.1.1 :收件人地址被拒绝:中的用户未知 虚拟别名表位于 com.sun.mail.SMTPTransport.rcpto(SMTPTransport.java:1949)位于 com.sun.mail.smtp.SMTPTransport.sendMessage(SMTPTransport.java:1195) 位于javax.mail.Transport.send0(Transport.java:254) javax.mail.Transport.send(Transport.java:124)位于 org.apache.commons.mail.Email.sendMimeMessage(Email.java:1411)。。。39 更多原因:com.sun.mail.smtp.SMTPAddressFailedException:550 5.1.1:收件人地址被拒绝:虚拟别名表中的用户未知,位于 SMTPTransport.rcpto(SMTPTransport.java:1802)
根本原因似乎是
收件人地址被拒绝:虚拟别名表中的用户未知
,这表示您要发送到的SMTP服务器拒绝电子邮件,因为它不知道您指定的电子邮件地址
因此,要么电子邮件地址不正确,要么SMTP服务器需要正确配置,以接受您在至
和发件人
字段中指定的此电子邮件地址
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();