Рубрики
Без рубрики

Руководство по отправке электронной почты в Java

Этот пост поможет вам сделать первые шаги с Jakarta Mail (ранее известный как JavaMail) L для отправки электронных писем из приложений Java. Проверьте примеры, чтобы понять, как создавать электронные письма в Java и отправить их через SMTP, добавьте содержимое HTML, изображений и вложений.

Автор оригинала: Andriy Zapisotskyi.

Это « электронные письма в Java Guide » изначально опубликованы в блоге MailTrap.

Этот пост поможет вам сделать первые шаги с Jakarta Mail (ранее известный как JavaMail) L для отправки электронных писем из приложений Java. Проверьте примеры, чтобы понять, как создавать электронные письма в Java и отправить их через SMTP, добавьте содержимое HTML, изображений и вложений.

Java занимает один из самых популярных языков веб-программирования на протяжении многих лет. В этом руководстве мы продемонстрируем, как отправлять электронные письма в Java с содержимым HTML, а также изображения с помощью SMTP-сервера.

Основной вариант является использование Java API для отправки и получения электронных писем через SMTP, POP3 и IMAP. Он реализован как необязательный пакет, совместимый с любой операционной системой. В то же время Jakarta Mail поставляется в составе платформ Jakarta EE и Java EE. В более ранних выпусках почтовый пакет был под названием «JavaMail API». Тем не менее, с июля 2019 года программное обеспечение Java было дополнительно разработано Фондом Eclipse. Вот почему пакет электронной почты также получил новое имя. Все основные классы и свойства одинаковы как для Javamail, так и Jakarta Mail.

В этой статье мы опишем основные свойства пакета электронной почты и покажем, как отправлять различные типы сообщений.

Начало работы с Jakarta Mail (Javamail)

Начать работу с Jakarta Mail, прежде всего, вы должны вставить файл jakarta.mail.jar в вашу среду классов. Вы можете скачать его с страницы проекта Jakarta Mail на Github Отказ

Кроме того, вы можете найти файлы Jakarta Mail Jar в репозитории Maven и добавить их в свою среду с помощью зависимостей Maven:

  
            
                com.sun.mail
                jakarta.mail
                1.6.4
            
        

Обратите внимание, что если вы используете JDK 1.5 или более старые версии, вам также понадобится внедрение структуры активации Javabeans.

import java.util.*;  
import javax.mail.*;  
import javax.mail.internet.*;  
import javax.activation.*;

Давайте сосредоточимся на основных шагах для подготовки электронного письма HTML и отправляя его через внешний SMTP-сервер.

Jakarta Mail Classes и синтаксис

Прежде чем перейти к коду, давайте рассмотрим основные классы и свойства, которые чаще всего используются для построения и отправки сообщений с Jakarta Mail.

Класс сеанса (javax.mail.session) является основным соединением всех свойств и по умолчанию. Следующие методы используются для получения объекта сеанса:

getdefaultInstance () возвращает сеанс по умолчанию Государственный статический сеанс GetDefaultInstance/(Properties Ryps) Общественный статический сеанс GetDefaultInstance (Properties Sprits, Authenticator Auth) GetInstance (): возвращает новую сессию. Общественный статический сеанс GetInstance (Properties Ryps) Общественный статический сеанс GetInstance (Properties Ryps, Authenticator Auth)

Класс сообщения (javax.mail.message) Это абстрактный класс для фактического создания сообщения электронной почты. Мы будем в основном использовать свое сообщение MIME ( javax.mail.internet.mimeMessage ) Подкласс и его основные методы:

setfrom (адрес [] адреса) Устанавливает «из» заголовочного поля. Public Void AddFrom (адрес [] адресов)

AddReciPients (Message.recipientType тип, строковые адреса ) Добавляет данный адрес в тип получателя.

Public Void Addrecipient (Message.recipientType тип, адрес [] адреса) Message.recipientType.to “to” Message.recipientType.cc “CC” Message.recipientType.bcc “BCC” Mimemessage.recipienttype.newsgroups “Newsgroups”

setsubject (строка тема ) устанавливает поле заголовка тема. Публичная пустота настраивает (строковая тема)

Settext (String TextMessage) Устанавливает текст в качестве содержимого сообщения с помощью текстового/простого типа MIME. Общественный пустоты Settext (String TextMessage)

SetContent (объект o, тип строки) Устанавливает контент этого сообщения. Общественный пустотный SetContent (объект o, тип строки)

Чтобы отправить электронные письма через внешний SMTP-сервер, Использовать пакет com.sun.mail.smtp : Это провайдер протокола SMTP для API JavaMail API, который обеспечивает доступ к SMTP-серверу. Основные свойства: Mail.smtp.user , имя пользователя по умолчанию для SMTP. Mail.smtp.host SMTP-сервер для подключения к. Mail.smtp.port , порт SMTP-сервера для подключения к подключению, если метод Connect () не указан один. По умолчанию до 25.

Чтобы включить аутентификацию SMTP, установите свойство Mail.smtp.auth или предоставьте транспортировку SMTP с именем пользователя и паролем при подключении к SMTP-серверу.

Мы покажем, как реализовать его позже, когда демонстрируете примеры кода.

SMTPMessage Class является специализацией класса MimeMessage для указания параметров и параметров SMTP. Просто используйте этот класс вместо MimeMessage и установите параметры SMTP, используя методы в этом классе.

Общественная SMTPMessage (сессия сеанса)

Транспорт (Javax.mail.Transport) это абстрактный класс для отправки сообщений. Transport.send (сообщение);

Для просмотра всех классов и их методов см. В этом разделе Jakarta Mail Документация Отказ

Отправка электронных писем в Java через SMTP

Давайте теперь рассмотрим, как реализовывать классы и методы, описанные выше, и напишите несколько Java-кода, чтобы отправить электронное письмо через внешний SMTP-сервер.

Прежде всего, нам нужно определить, кто посылает тому, что. Итак, используйте Sendemail Открытый класс и набор

Продолжить чтение полного руководства по отправке электронных писем в Java, изначально на блоге MailTrap.