как отправить электронное письмо с вложением с помощью jsp?

#jsp #email-attachments

#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 resu<
   String to = "abcd@gmail.com"; 
   String from = "mcmohd@gmail.com";   
   String host = "localhost";
   Properties properties = System.getProperties(); 
    properties.setProperty("mail.smtp.host", host);
     Session mailSession = Session.getDefaultInstance(properties);

   try{

      MimeMessage message = new MimeMessage(mailSession);   

      message.setFrom(new InternetAddress(from));   

      message.addRecipient(Message.RecipientType.TO,
                               new InternetAddress(to));   

      message.setSubject("This is the Subject Line!");   

      BodyPart messageBodyPart = new MimeBodyPart();    

      messageBodyPart.setText("This is message body");          

      Multipart multipart = new MimeMultipart();    

      multipart.addBodyPart(messageBodyPart);    

      messageBodyPart = new MimeBodyPart();
      String filename = "file.txt";
      DataSource source = new FileDataSource(filename);
      messageBodyPart.setDataHandler(new DataHandler(source));
      messageBodyPart.setFileName(filename);
      multipart.addBodyPart(messageBodyPart);


      message.setContent(multipart );


      Transport.send(message);
      String title = "Send Email";
      result = "Sent message successfully....";
   }catch (MessagingException mex) {
      mex.printStackTrace();
      result = "Error: unable to send message....";
   }
%>
<html>
<head>
<title>Send Attachement Email using JSP</title>
</head>
<body>
<center>
<h1>Send Attachement Email using JSP</h1>
</center>
<p align="center">
<% 
   out.println("Result: "   result   "n");
%>
</p>
</body>
</html>
  

Комментарии:

1. можете ли вы попробовать указать абсолютный путь к файлу для file.txt

2. Я хотел бы добавить, что использование логики, не связанной с представлением в JSP, считается очень плохой практикой ™. Это усложняет обслуживание всего приложения. Вместо этого используйте фреймворк MVC. Некоторые из них предлагают средства для отправки электронных писем на уровне контроллера или дополнительного сервисного уровня.

3. я даю абсолютный путь для file.txt но при настройке SMTP-сервера произошла ошибка

4. как разделить несколько столбцов в одной строке в jtable на Java с использованием netbeans (в дизайне, а не в кодировании)

Ответ №1:

Из ошибки, которую вы опубликовали в комментарии error occurred as configure the SMTP server , я мог видеть, что ваше имя хоста неверно.

Попробуйте это,

    String host = "smtp.gmail.com";
   Properties properties = System.getProperties(); 
   properties.setProperty("mail.smtp.host", host);
   Session mailSession = Session.getDefaultInstance(properties);
  

Примечание:
Я использовал имя хоста smtp как gmail исходящее из вашего адреса. имена хостов smtp-серверов меняются с почтовыми серверами

Надеюсь, это поможет