Автоматизация электронной почты стала популярной, особенно среди маркетологов. Это позволяет им автоматически отправлять готовые электронные письма своей целевой аудитории в запланированное время.

Как написать код для отправки писем на Java

Как написать код для отправки писем на Java

В этой статье мы объясним, как написать код для отправки электронной почты на Java. Мы увидим шаги по программному созданию и отправке электронных писем с обычным текстом или телом HTML. Кроме того, мы продемонстрируем, как рассылать электронные письма массово и отправлять сохраненные электронные письма с диска с помощью Java.

В этой статье будут рассмотрены пункты, указанные ниже:

Java-библиотека для отправки электронных писем

Мы будем использовать библиотеку электронной почты Java, которая позволит вам реализовать свою бизнес-логику для управления электронной почтой, не зная о сетевом программировании или спецификациях формата. Библиотеку Java для отправки электронных писем можно установить напрямую, используя конфигурацию Maven, как показано ниже:

<repository>
	<id>ConholdateJavaAPI</id>
	<name>Conholdate Java API</name>
	<url>https://releases.conholdate.com/java/repo</url>
</repository>        
<dependency>
	<groupId>com.conholdate</groupId>
	<artifactId>conholdate-total</artifactId>
	<version>23.6</version>
	<type>pom</type>
</dependency>

Для получения информации о других платформах Java посетите releases.conholdate.com.

Как написать код для создания и отправки электронной почты на Java

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

Код Java для отправки электронных писем с обычным текстом

Ниже приведены шаги для создания и отправки сообщения электронной почты с обычным текстом:

  • Создайте объект класса MailMessage.
  • Укажите тему, тело, адреса отправителя и получателя.
  • Создайте объект класса SmtpClient.
  • Установите хост, порт, имя пользователя, пароль и параметры безопасности.
  • Вызов метода SmtpClient.send(MailMessage arg) для отправки сообщения электронной почты.

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

// Declare msg as MailMessage instance
MailMessage msg = new MailMessage();
// Set From and To field and Plain text body
msg.setFrom(MailAddress.to_MailAddress("sender@sender.com"));
msg.getTo().add("receiver@receiver.com");
msg.setBody("This is a Plain Text Body");
// Create an instance of SmtpClient class
SmtpClient client = new SmtpClient();
// Specify your mailing host server, Username, Password, Port # and Security option
client.setHost("mail.server.com");
client.setUsername("username");
client.setPassword("password");
client.setPort(587);
client.setSecurityOptions(SecurityOptions.SSLExplicit);
try {
// Client.Send will send this message
client.send(msg);
System.out.println("Message sent");
} catch (Exception ex) {
System.err.println(ex);
client.close();
client.dispose();
}
client.close();
client.dispose();

Отправка электронных писем с телом HTML

Ниже приведены шаги для отправки сообщения электронной почты с телом HTML:

  • Создайте объект класса MailMessage.
  • Укажите тему, тело, адреса отправителя и получателя.
  • Установите тело письма, используя метод MailMessage.setHtmlBody (строковое значение).
  • Создайте объект класса SmtpClient.
  • Установите хост, порт, имя пользователя, пароль и параметры безопасности.
  • Вызов метода SmtpClient.send(MailMessage arg) для отправки сообщения электронной почты.

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

// Declare msg as MailMessage instance
MailMessage msg = new MailMessage();
// Use MailMessage properties like specify sender, recipient, message and HtmlBody
msg.setFrom(MailAddress.to_MailAddress("newcustomeronnet@gmail.com"));
msg.setTo(MailAddressCollection.to_MailAddressCollection("asposetest123@gmail.com"));
msg.setSubject("Test subject");
msg.setHtmlBody("<html><body>This is the HTML body</body></html>");
// Create an instance of SmtpClient class
SmtpClient client = new SmtpClient();
// Specify your mailing host server, Username, Password, Port # and Security option
client.setHost("mail.server.com");
client.setUsername("username");
client.setPassword("password");
client.setPort(587);
client.setSecurityOptions(SecurityOptions.SSLExplicit);
try {
// Client.Send will send this message
client.send(msg);
System.out.println("Message sent");
} catch (Exception ex) {
System.err.println(ex);
client.close();
client.dispose();
}
client.close();
client.dispose();

Отправка сохраненных писем с диска в Java

Библиотека электронной почты Java позволяет загружать файлы EML (Outlook Express Electronic Mail) с диска и отправлять их по SMTP.

Шаги для отправки сохраненных сообщений электронной почты с диска приведены ниже:

  • Создайте объект класса MailMessage с помощью метода MailMessage.load(String path).
  • Создайте объект класса SmtpClient.
  • Установите хост, порт, имя пользователя, пароль и параметры безопасности.
  • Вызов метода SmtpClient.send(MailMessage arg) для отправки сообщения электронной почты.

В приведенном ниже примере кода показано, как отправлять сохраненные электронные письма с диска в Java.

// Load an EML file in MailMessage class
MailMessage message = MailMessage.load(dataDir + "test.eml");
// Create an instance of SmtpClient class
SmtpClient client = new SmtpClient();
// Specify your mailing host server, Username, Password, Port # and Security option
client.setHost("mail.server.com");
client.setUsername("username");
client.setPassword("password");
client.setPort(587);
client.setSecurityOptions(SecurityOptions.SSLExplicit);
try {
// Client.Send will send this message
client.send(msg);
System.out.println("Message sent");
} catch (Exception ex) {
System.err.println(ex);
client.close();
client.dispose();
}
client.close();
client.dispose();

Код Java для массовой отправки электронных писем

Ниже приведены шаги по написанию Java-кода для массовой рассылки электронных писем:

  • Создайте несколько объектов класса MailMessage и укажите их необходимые параметры или свойства.
  • Создайте объект класса MailMessageCollection.
  • Добавьте объекты сообщений электронной почты (созданные на 1-м шаге) в коллекцию с помощью метода MailMessageCollection.addItem().
  • Создайте объект класса SmtpClient. и установите хост, порт, имя пользователя и пароль.
  • Отправка электронной почты с помощью метода SmtpClient.send(MailMessageCollection arg).

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

// Create SmtpClient as client and specify server, port, user name and password
SmtpClient client = new SmtpClient("mail.server.com", 25, "Username", "Password");
// Create instances of MailMessage class and Specify To, From, Subject and Message
MailMessage message1 = new MailMessage("msg1@from.com", "msg1@to.com", "Subject1", "message1, how are you?");
MailMessage message2 = new MailMessage("msg1@from.com", "msg2@to.com", "Subject2", "message2, how are you?");
MailMessage message3 = new MailMessage("msg1@from.com", "msg3@to.com", "Subject3", "message3, how are you?");
// Create an instance of MailMessageCollection class and add MailMessage objects
MailMessageCollection manyMsg = new MailMessageCollection();
manyMsg.addItem(message1);
manyMsg.addItem(message2);
manyMsg.addItem(message3);
try {
// Send Message in bulk
client.send(manyMsg);
System.out.println("Message sent");
} catch (Exception ex) {
System.err.println(ex);
client.close();
client.dispose();
}
client.close();
client.dispose();

Получить бесплатную лицензию

Вы можете получить бесплатную временную лицензию, чтобы опробовать API без ограничений пробной версии.

Подведение итогов

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

Вы можете посетить документацию, чтобы изучить другие функции.

Наконец, мы рекомендуем вам следить за обновлениями на conholdate.com для получения регулярных обновлений.

Задайте вопрос

Вы можете сообщить нам о своих вопросах или запросах на нашем форуме.

Смотрите также