用JSP代码发送电子邮件
我有一个JSP代码。我试着通过那个发送一封smtp电子邮件。它在以下方面有一个错误: 传送。发送(信息) 有人能帮我吗 代码如下:用JSP代码发送电子邮件,jsp,Jsp,我有一个JSP代码。我试着通过那个发送一封smtp电子邮件。它在以下方面有一个错误: 传送。发送(信息) 有人能帮我吗 代码如下: <%@ page import="java.io.*,java.util.*,javax.mail.*, javax.mail.Service"%> <%@ page import="javax.mail.internet.*,javax.activation.*"%> <%@ page import="javax.servlet
<%@ page import="java.io.*,java.util.*,javax.mail.*, javax.mail.Service"%>
<%@ page import="javax.mail.internet.*,javax.activation.*"%>
<%@ page import="javax.servlet.http.*,javax.servlet.*" %>
<%
String result;
// Recipient's email ID needs to be mentioned.
String to = "email@gmx.com";
// Sender's email ID needs to be mentioned
String from = "email@gmx.com";
// Assuming you are sending email from localhost
String host = "mail.gmx.com";
// Get system properties object
Properties properties = System.getProperties();
// Setup mail server
properties.setProperty("mail.smtp.host", host);
// Get the default Session object.
Session mailSession = Session.getDefaultInstance(properties);
// Create a default MimeMessage object.
MimeMessage message = new MimeMessage(mailSession);
// Set From: header field of the header.
message.setFrom(new InternetAddress(from));
// Set To: header field of the header.
message.addRecipient(Message.RecipientType.TO,
new InternetAddress(to));
// Set Subject: header field
message.setSubject("This is the Subject Line!");
// Now set the actual message
message.setText("This is actual message");
// Send message
Transport.send(message);
result = "Sent message successfully....";
%>
<html>
<head>
<title>Send Email using JSP</title>
</head>
<body>
<center>
<h1>Send Email using JSP</h1>
</center>
<p align="center">
<%
out.println("Result: " + result + "\n");
%>
</p>
</body>
</html>
这是一个相当低级的问题。不允许正在执行当前Java运行时环境的操作系统平台指定用户打开到给定主机的网络连接
这可能有许多可能的原因,具体取决于用户的权限、对它的高级控制程度、防火墙设置、使用的操作系统等等。至少,问题不在Java代码中(免责声明:我还没有读过它,整个异常本身已经是答案,所以Java代码中可能仍然存在一些不相关的错误)
我将介绍一些常见的原因,以便您了解应该在哪里寻找解决方案:
- Web应用程序部署到第三方主机,该主机不允许您的Web应用程序连接除第三方主机之外的任何主机。解决方案:升级帐户,以便您可以使用主机自己的邮件服务器(或者您已经有了它而不需要升级),或者迁移到另一台主机
- 操作系统平台特定的非管理员用户帐户不允许进行任何网络连接。管理员帐户必须相应地更改用户的帐户设置
- 操作系统平台安装了防火墙,其配置过于严格。尝试完全禁用防火墙,然后重新测试以排除可疑,然后在必要时重新配置防火墙
org.apache.jasper.JasperException: An exception occurred processing JSP page /mail.jsp
at line 37
34: // Now set the actual message
35: message.setText("This is actual message");
36: // Send message
37: Transport.send(message);
38: result = "Sent message successfully....";
39:
40: %>
Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.ja
va:510)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:401)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
com.ish.system.runtime.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilt er.java:67)
root cause
javax.servlet.ServletException: javax.mail.MessagingException: Could not connect to
SMTP host: mail.gmx.com, port: 25;
nested exception is:
java.net.SocketException: Permission denied: connect
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.jav a:862)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java: 791)
org.apache.jsp.mail_jsp._jspService(mail_jsp.java:124)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:377)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
com.ish.system.runtime.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilt er.java:67)
root cause
javax.mail.MessagingException: Could not connect to SMTP host: mail.gmx.com, port: 25;
nested exception is:
java.net.SocketException: Permission denied: connect
com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1282)
com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:370)
javax.mail.Service.connect(Service.java:275)
javax.mail.Service.connect(Service.java:156)
javax.mail.Service.connect(Service.java:105)
javax.mail.Transport.send0(Transport.java:168)
javax.mail.Transport.send(Transport.java:98)
org.apache.jsp.mail_jsp._jspService(mail_jsp.java:98)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:377)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
com.ish.system.runtime.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilt er.java:67)
root cause
java.net.SocketException: Permission denied: connect
java.net.PlainSocketImpl.socketConnect(Native Method)
java.net.PlainSocketImpl.doConnect(Unknown Source)
java.net.PlainSocketImpl.connectToAddress(Unknown Source)
java.net.PlainSocketImpl.connect(Unknown Source)
java.net.SocksSocketImpl.connect(Unknown Source)
java.net.Socket.connect(Unknown Source)
java.net.Socket.connect(Unknown Source)
com.sun.mail.util.SocketFetcher.createSocket(SocketFetcher.java:232)
com.sun.mail.util.SocketFetcher.getSocket(SocketFetcher.java:189)
com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1250)
com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:370)
javax.mail.Service.connect(Service.java:275)
javax.mail.Service.connect(Service.java:156)
javax.mail.Service.connect(Service.java:105)
javax.mail.Transport.send0(Transport.java:168)
javax.mail.Transport.send(Transport.java:98)
org.apache.jsp.mail_jsp._jspService(mail_jsp.java:98)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:377)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
com.ish.system.runtime.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilt er.java:67)
javax.mail.MessagingException: Could not connect to SMTP host: mail.gmx.com, port: 25;
nested exception is:
java.net.SocketException: Permission denied: connect