Latest web development tutorials

Servlet электронной почты

Отправить по электронной почте с помощью Servlet очень просто, но сначала вы должны установитьJavaMail API и Java Activation Framework)на вашем компьютереJAF).

  • Вы можете скачать последнюю версию Java на JavaMail , откройте правую сторону страницы есть ссылка загрузки, нажмите на нее , чтобы загрузить.
  • Вы можете скачать последнюю версию Java (версия 1.1.1) JAF .

Вы также можете использовать сайт, чтобы обеспечить ссылку для скачивания:

Скачать и распаковать файлы в недавно созданную директорию верхнего уровня, вы найдете некоторые JAR-файла два приложения. Вам нужно добавитьmail.jar и activation.jarфайлы в CLASSPATH.

Отправить простой электронной почты

Следующие примеры отправить простой электронной почты с вашего компьютера. Это предполагает , что вашалокальный хост подключен к сети Интернет и электронной почты поддержки.В то время как обеспечение того, чтобы пакеты Java Email API и пакет ФСД все JAR-файлы в CLASSPATH доступны.

// Имя файла SendEmail.java
импорт java.io. *;
импорт java.util * .;
импорт javax.servlet * .;
импорт javax.servlet.http * .;
импорт javax.mail * .;
импорт javax.mail.internet * .;
импорт javax.activation * .;
 
Открытый класс SendEmail расширяет HttpServlet {
    
  общественного недействительными doGet (HttpServletRequest запрос,
                    HttpServletResponse ответ)
            бросает ServletException, IOException
  {
      // Получателя электронной почты ID
      Строка = "[email protected]";
 
      // Отправителя электронной почты ID
      Строка из = "[email protected]";
 
      // Допустим, вы посылаете по электронной почте Строка хост = "локальный" с локального хоста;
 
      // Получить системные свойства Свойства Свойства = System.getProperties ();
 
      // Настройка почтового сервера properties.setProperty ( "mail.smtp.host", хост);
 
      // Получить сеансов по умолчанию Session Объект Session = Session.getDefaultInstance (свойства);
      
      // Установка типа содержимого ответа response.setContentType ( "текст / html; Charset = UTF-8");
      PrintWriter Out = response.getWriter ();

      попробуйте {
         // Создание объектов по умолчанию MimeMessage MimeMessage сообщение = новый MimeMessage (сеанс);
         // Установить From: заголовка поля заголовка.
         message.setFrom (новый InternetAddress (с));
         // Set To: заголовка поля заголовка.
         message.addRecipient (Message.RecipientType.TO,
                                  новый InternetAddress (к));
         // Устанавливаем тему: поле заголовка
         message.setSubject ( "Это сюжетная линия!");
         // Теперь установите фактическое сообщение message.setText ( "Это фактическое сообщение");
         // Послать сообщение Transport.send (сообщение);
         Строка название = "электронная почта";
         Строка разрешением = "успешно отправленных сообщений ...";
         Строка DOCTYPE = "\ п <DOCTYPE HTML!>";
         out.println (DOCTYPE +
         "<HTML> \ п" +
         "<Head> <название>" + название + "</ title> </ голова> \ п" +
         "<Body BGCOLOR = \" # f0f0f0 \ "> \ п" +
         "<H1 ALIGN = \" центр \ ">" + название + "</ h1> \ п" +
         "<P ALIGN = \" центр \ ">" + Рез + "</ p> \ п" +
         "</ Body> </ html>");
      } Поймайте (MessagingException MEX) {
         mex.printStackTrace ();
      }
   }
} 

Теперь давайте компилировать выше Servlet, и создать следующую запись в файле web.xml:

....
 <Сервлет>
     SendEmail <сервлет-имя /> <сервлет-имя>
     <Servlet-класс> SendEmail </ сервлет-класс>
 </ Servlet>
 
 <Сервлет-отображение>
     SendEmail <сервлет-имя /> <сервлет-имя>
     <URL-шаблон> / SendEmail </ URL-шаблон>
 </ Servlet-отображение>
....

Теперь, посетив URL HTTP: // локальный: 8080 / SendEmail назвать это Servlet. Это будет отправить по электронной почте на указанный адрес электроннойID[email protected]~~HEAD=pobj, и будет выглядеть , как показано в следующей реакции:

Отправить по электронной почте

Успешно отправлено сообщение ...

Если вы хотите отправить по электронной почте нескольким получателям, используйте следующие методы, чтобы указать несколько адресов электронной почты ID:

addRecipients недействительным (тип Message.RecipientType, 
                   Адрес [] адреса)
бросает MessagingException

Ниже приводится описание параметров:

  • Тип: Это будет установлен как To, CC или BCC.Здесь, CC от имени ЦК, представители BCC BCC. Например ,Message.RecipientType.TO.
  • адреса: Это массив электронной почты ID.При указании электронной почты ID, вам нужно использовать метод InternetAddress ().

Отправить HTML электронной почты

В следующем примере будет посылать HTML-формате электронной почты на вашем компьютере. Это предполагает , что вашалокальный хост подключен к сети Интернет и электронной почты поддержки.В то время как обеспечение того, чтобы пакеты Java Email API и пакет ФСД все JAR-файлы в CLASSPATH доступны.

Этот пример очень похож на предыдущие примеры, но здесь мы используем метод () setContent установить второй параметр "текст / html" содержание, этот параметр используется для указания содержимого HTML, содержащийся в сообщении.

С помощью этого экземпляра, вы можете отправить содержание не ограничивается размером содержимого HTML.

// Имя файла SendEmail.java
импорт java.io. *;
импорт java.util * .;
импорт javax.servlet * .;
импорт javax.servlet.http * .;
импорт javax.mail * .;
импорт javax.mail.internet * .;
импорт javax.activation * .;
 
Открытый класс SendEmail расширяет HttpServlet {
    
  общественного недействительными doGet (HttpServletRequest запрос,
                    HttpServletResponse ответ)
            бросает ServletException, IOException
  {
      // Получателя электронной почты ID
      Строка = "[email protected]";
 
      // Отправителя электронной почты ID
      Строка из = "[email protected]";
 
      // Допустим, вы посылаете по электронной почте Строка хост = "локальный" с локального хоста;
 
      // Получить системные свойства Свойства Свойства = System.getProperties ();
 
      // Настройка почтового сервера properties.setProperty ( "mail.smtp.host", хост);
 
      // Получить сеансов по умолчанию Session Объект Session = Session.getDefaultInstance (свойства);
      
	  // Установка типа содержимого ответа response.setContentType ( "текст / html; Charset = UTF-8");
      PrintWriter Out = response.getWriter ();

      попробуйте {
         // Создание объектов по умолчанию MimeMessage MimeMessage сообщение = новый MimeMessage (сеанс);
         // Установить From: заголовка поля заголовка.
         message.setFrom (новый InternetAddress (с));
         // Set To: заголовка поля заголовка.
         message.addRecipient (Message.RecipientType.TO,
                                  новый InternetAddress (к));
         // Устанавливаем тему: поле заголовка
         message.setSubject ( "Это сюжетная линия!");

         // Установить фактическое HTML размер сообщения содержание ограниченный message.setContent ( "<h1> Это фактическое сообщение </ h1>",
                            "Текст / HTML");
         // Послать сообщение Transport.send (сообщение);
         Строка название = "электронная почта";
         Строка разрешением = "успешно отправленных сообщений ...";
         Строка DOCTYPE = "\ п <DOCTYPE HTML!>";
         out.println (DOCTYPE +
         "<HTML> \ п" +
         "<Head> <название>" + название + "</ title> </ голова> \ п" +
         "<Body BGCOLOR = \" # f0f0f0 \ "> \ п" +
         "<H1 ALIGN = \" центр \ ">" + название + "</ h1> \ п" +
         "<P ALIGN = \" центр \ ">" + Рез + "</ p> \ п" +
         "</ Body> </ html>");
      } Поймайте (MessagingException MEX) {
         mex.printStackTrace ();
      }
   }
} 

Скомпилировать и запустить выше Servlet, отправлять сообщения HTML на данной электронной почты ID.

Отправить вложения электронной почты

Следующие примеры отправить электронное письмо с вложением на вашем компьютере будет. Это предполагает , что вашалокальный хост подключен к сети Интернет и электронной почты поддержки.В то время как обеспечение того, чтобы пакеты Java Email API и пакет ФСД все JAR-файлы в CLASSPATH доступны.

// Имя файла SendEmail.java
импорт java.io. *;
импорт java.util * .;
импорт javax.servlet * .;
импорт javax.servlet.http * .;
импорт javax.mail * .;
импорт javax.mail.internet * .;
импорт javax.activation * .;
 
Открытый класс SendEmail расширяет HttpServlet {
    
  общественного недействительными doGet (HttpServletRequest запрос,
                    HttpServletResponse ответ)
            бросает ServletException, IOException
  {
      // Получателя электронной почты ID
      Строка = "[email protected]";
 
      // Отправителя электронной почты ID
      Строка из = "[email protected]";
 
      // Допустим, вы посылаете по электронной почте Строка хост = "локальный" с локального хоста;
 
      // Получить системные свойства Свойства Свойства = System.getProperties ();
 
      // Настройка почтового сервера properties.setProperty ( "mail.smtp.host", хост);
 
      // Получить сеансов по умолчанию Session Объект Session = Session.getDefaultInstance (свойства);
      
	  // Установка типа содержимого ответа response.setContentType ( "текст / html; Charset = UTF-8");
      PrintWriter Out = response.getWriter ();

       попробуйте {
         // Создание объектов по умолчанию MimeMessage MimeMessage сообщение = новый MimeMessage (сеанс);
 
         // Установить From: заголовка поля заголовка.
         message.setFrom (новый InternetAddress (с));
 
         // Set To: заголовка поля заголовка.
         message.addRecipient (Message.RecipientType.TO,
                                  новый InternetAddress (к));
 
         // Устанавливаем тему: поле заголовка
         message.setSubject ( "Это сюжетная линия!");
 
         // Создать часть сообщения = messageBodyPart части тела новый MimeBodyPart ();
 
         // Заполнить в сообщении messageBodyPart.setText ( "Это тело сообщения");
         
         // Создание нескольких частей сообщение Multipart Multipart = новый MimeMultipart ();
 
         // Установка части текстовых сообщений multipart.addBodyPart (messageBodyPart);
 
         // Вторая часть представляет собой аксессуар messageBodyPart = новый MimeBodyPart ();
         Строка файла = "file.txt";
         источник DataSource = новый FileDataSource (имя файла);
         messageBodyPart.setDataHandler (новый DataHandler (источник));
         messageBodyPart.setFileName (имя файла);
         multipart.addBodyPart (messageBodyPart);
 
         // Отправить сообщение полное часть message.setContent (многочастному);
 
         // Послать сообщение Transport.send (сообщение);
         Строка название = "электронная почта";
         Строка разрешением = "успешно отправить электронную почту ...";
         Строка DOCTYPE = "\ п <DOCTYPE HTML!>";
         out.println (DOCTYPE +
         "<HTML> \ п" +
         "<Head> <название>" + название + "</ title> </ голова> \ п" +
         "<Body BGCOLOR = \" # f0f0f0 \ "> \ п" +
         "<H1 ALIGN = \" центр \ ">" + название + "</ h1> \ п" +
         "<P ALIGN = \" центр \ ">" + Рез + "</ p> \ п" +
         "</ Body> </ html>");
      } Поймайте (MessagingException MEX) {
         mex.printStackTrace ();
      }
   }
} 

Скомпилировать и запустить над Servlet, отправлять сообщения с вложенными файлами на данной электронной почты ID.

раздел Аутентификация пользователя

Если вам необходимо указать адрес электронной почты ID пользователя сервера и пароль аутентификации, вы можете установить следующие свойства:

 props.setProperty ( "mail.user", "MyUser");
 props.setProperty ( "mail.password", "mypwd");

Остальная часть электронной почты механизм доставки согласуется с выше объяснения.