【问题标题】:Getting Error while sending mail from Localhost using JSP使用 JSP 从 localhost 发送邮件时出错
【发布时间】:2016-03-06 19:24:34
【问题描述】:

经过数小时的谷歌搜索,我从tutorialpoints web site 获得了从 JSP 页面发送电子邮件的代码,我尝试了教程中提到的整个代码,还添加了推荐的 jar 文件。但是在每次设置像这样的实际电子邮件 ID 之后 -

// Recipient's email ID needs to be mentioned.
   String to = "vishaldb28@gmail.com";
   // Sender's email ID needs to be mentioned
   String from = "info@cbsecsnip.in";
   // 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", "info@cbsecsnip.in");
   properties.setProperty("mail.password", "password");
   // Get the default Session object.
   Session mailSession = Session.getDefaultInstance(properties);

我遇到了异常 -

javax.mail.SendFailedException:发送失败;嵌套异常是: 类 javax.mail.SendFailedException:无效地址;嵌套的 例外是:class 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 javax.mail.address


    【解决方案1】:

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

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

    【讨论】:

    • 我需要修改哪个属性 - 请查看原始帖子的编辑部分
    • 问题不在于您的代码,而在于邮件服务器。如果您拥有邮件服务器,则需要重新配置它以允许中继。如果您不拥有邮件服务器,则需要使用允许中继的其他邮件服务器。
    • “中继”是指通过服务器发送邮件,发件人电子邮件或收件人电子邮件都不“属于”服务器。换句话说,它只是希望将其转发到其他地方。
    猜你喜欢
    • 2012-10-19
    • 2017-10-22
    • 1970-01-01
    • 2014-09-04
    • 1970-01-01
    • 2010-12-06
    • 1970-01-01
    • 2013-03-12
    相关资源
    最近更新 更多