Vivek Bandekar Ответов: 1

Как Отправить Письмо С Помощью Jsp?


Привет..
У меня есть следующий код на странице jsp..

<%@ page import="java.io.*,java.util.*,javax.mail.*"%>
<%@ 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 = "vivekanandbandekar@gmail.com";

   // Sender's email ID needs to be mentioned
   String from = "hcmmca@gmail.com";

   // Assuming you are sending email from localhost
   String host = "localhost";

   // Get system properties object
   //Properties properties = System.getProperties();
    Properties properties = new Properties();
    properties.put("mail.smtp.host","425");
   // Setup mail server
   //properties.setProperty("mail.smtp.host", host);

   // Get the default Session object.
   Session mailSession = Session.getDefaultInstance(properties,null);

   try{
      // 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....";
   }catch (MessagingException mex) {
      mex.printStackTrace();
      result = "Error: unable to send message....";
   }
%>
<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>


я установил путь к классу, добавил необходимый javax. activation.баночка и mail.jar файлы. но все же я получаю следующее исключение ..

класса javax.почте.Sendfailedexception будут: ошибка отправки;
вложенное исключение-это:
класса javax.почте.MessagingException: не удается подключиться к узлу SMTP: 425, порт: 25;
вложенное исключение-это:
java. net.SocketException: сеть недоступна: подключение

Как решить эту проблему?

1 Ответов

Рейтинг:
1

Sergey Alexandrovich Kryukov

Ваше имя хоста недопустимо. Как это может быть "425"? Это должен быть действительный IP-адрес или имя хоста домена, правильно разрешенное DNS.

И этот фрагмент кода показывает, что вы не понимаете некоторых основ, даже если это объявление фактически не используется в вашем фрагменте кода (закомментировано):

// Assuming you are sending email from localhost
   String host = "localhost";

Нет, во всех протоколах поверх TCP адрес или имя хоста клиентского сайта никогда не используются. Серверная часть прослушивает какой-то порт, а клиентская-чтобы подключиться, использует IP и номер порта на стороне сервера и выполняет соединение.

—СА