Senden von E-Mails mit JSP

Dieses problem treibt mich in den Wahnsinn. Ich habe den folgenden code:

<html>
<body>
<%@ page import="java.util.*" %>
<%@ page import="javax.mail.*" %>
<%@ page import="javax.mail.internet.*" %>
<%@ page import="javax.activation.*" %>
<%
String host = "exchsrv2";
String to = "[email protected]";
String from = "[email protected]";
String subject = "test";
String messageText = "body test";

Properties props = System.getProperties();
props.put("mail.host", host);
props.put("mail.transport.protocol", "smtp");
props.put("mail.smtp.port", "25");
Session mailSession = Session.getDefaultInstance(props, null);

Message msg = new MimeMessage(mailSession);
msg.setFrom(new InternetAddress(from));
InternetAddress[] address = {new InternetAddress(to)};
msg.setRecipients(Message.RecipientType.TO, address);
msg.setSubject(subject);
msg.setSentDate(new Date());
msg.setText(messageText);

Transport.send(msg);
out.println("Mail was sent to " + to);
out.println(" from " + from);
out.println(" using host " + host + ".");
%>
</body>
</html>

Okay, das problem ist, ich bekomme die folgende Fehlermeldung:

javax.servlet.ServletException: javax.mail.MessagingException: Could not connect to SMTP host: exchsrv2, port: 25;
nested exception is:
java.net.SocketException: Permission denied: connect
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:911)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:840)
org.apache.jsp.alan_jsp._jspService(alan_jsp.java:113)
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)

Ich weiß, Exchange server da ist. Ich kann Sie telnet, um es just fine. Mein Exchange-server-setup ist keine Authentifizierung erforderlich. Ich habe ein Programm, das funktioniert in C#/.NET, und es funktioniert gut, also ich kenne das problem nicht in den Exchange-server. Was mache ich hier falsch?

Wenn Sie sagen, das ist keine Exchange-server-problem, vielleicht versuchen E-mail zu senden mit Google Mail-Konto - mkyong.com/java/...
Permission denied meistens bedeutet, dass der port, den Sie versuchen, eine Verbindung zu firewalled.

InformationsquelleAutor Icemanind | 2011-09-19

Schreibe einen Kommentar