使用 JSP 从本地主机发送邮件时出现错误

问题描述 投票:0回答:1

经过几个小时的谷歌搜索,我从tutorialpoints网站获得了从JSP页面发送电子邮件的代码,我尝试了教程中提到的整个代码,还添加了推荐的jar文件。但每次使用实际电子邮件 ID 进行设置后 -

// Recipient's email ID needs to be mentioned.
   String to = "[email protected]";
   // Sender's email ID needs to be mentioned
   String from = "[email protected]";
   // Assuming you are sending email from localhost
   String host = "localhost";
   // Get system properties object
   Properties properties = System.getProperties();

   // Setup mail server
   properties.setProperty("mail.cbsecsnip.in", host);
   properties.setProperty("mail.user", "[email protected]");
   properties.setProperty("mail.password", "password");
   // Get the default Session object.
   Session mailSession = Session.getDefaultInstance(properties);

我遇到异常 -

javax.mail.SendFailedException:发送失败;嵌套异常是: 类 javax.mail.SendFailedException:地址无效;嵌套的 例外是:类 javax.mail.SendFailedException: 553 我们不 转发非本地邮件,抱歉。

在 javax.mail.Transport.send0(Transport.java:218) 处 javax.mail.Transport.send(Transport.java:80) 在 org.apache.jsp.addstudent_jsp._jspService(addstudent_jsp.java:168) 在 org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) 在 javax.servlet.http.HttpServlet.service(HttpServlet.java:722) 在 org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:433) 在 org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:389) 在 org.apache.jasper.servlet.JspServlet.service(JspServlet.java:333) 在 javax.servlet.http.HttpServlet.service(HttpServlet.java:722) 处 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304) 在 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) 在 org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:224) 在 org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:185) 在 org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472) 在 org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:151) 在 org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100) 在 org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:929) 在 org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) 在 org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:405) 在 org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:269) 在 org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:515) 在 org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:1773) 在 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) 在 java.lang.Thread.run(Thread.java:722)

如果有人可以帮助我摆脱这个例外,请。

java jsp jakarta-mail
1个回答
0
投票

javax.mail.SendFailedException: 553 We do not relay non-local mail, sorry.

您需要使用允许您转发邮件的 SMTP 服务器。如果您对正在运行的系统具有 root 访问权限,则只需重新配置 SMTP 服务器以允许中继(以安全的方式,不适用于所有互联网)。如果没有,请与那些这样做的人交谈。

© www.soinside.com 2019 - 2024. All rights reserved.