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");
Остальная часть электронной почты механизм доставки согласуется с выше объяснения.