Aspose.Email для Java — это мощный API для обработки электронной почты, который предоставляет все основные, а также расширенные функции для управления электронной почтой. Он позволяет создавать сообщения электронной почты Outlook, читать существующие электронные письма и преобразовывать сообщения MSG, EML, PST, OST, MBOX и MHT в другие форматы из ваших приложений Java. В этой статье я продемонстрирую некоторые основные, но важные функции создания и отправки электронных писем Outlook с помощью Java.
В этой статье я расскажу о следующих особенностях создания и отправки электронных писем:
- Создать сообщение электронной почты Outlook с помощью Java
- Установить тело HTML для электронной почты с помощью Java
- Создайте электронное письмо с определенной кодировкой с помощью Java
- Отправляйте электронные письма Outlook с помощью Java
- Асинхронно отправлять электронные письма с помощью Java
- Отправить электронное письмо с уведомлением о прочтении с помощью Java
- Отправляйте массовые электронные письма с помощью Java
API электронной почты Java — установка
Aspose.Email для Java можно загрузить из раздела Загрузки или установить с помощью следующих конфигураций Maven.
Репозиторий:
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>https://repository.aspose.com/repo/</url>
</repository>
Зависимость:
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-email</artifactId>
<version>20.3</version>
<classifier>jdk16</classifier>
</dependency>
Создание сообщений электронной почты Outlook с использованием Java
Aspose.Email для Java позволяет создавать сообщения электронной почты и сохранять их в желаемом формате электронной почты, включая EML, EMLX, MSG и MHTML. Ниже приведены шаги для создания сообщения электронной почты и сохранения его в виде файла.
- Создайте экземпляр класса MailMessage.
- Установите свойства сообщения, такие как «Тема», «Тело», «Кому», «Копия» и т. д.
- При необходимости добавьте вложения.
- Сохраните сообщение электронной почты в желаемом формате, используя метод MailMessage.save().
В следующем примере кода показано, как создать сообщение электронной почты Outlook с помощью Java.
MailMessage message = new MailMessage();
// Установите тему сообщения, тело и информацию об отправителе
message.setSubject("New message created by Aspose.Email for .NET");
message.setBody("This is the body of the email.");
message.setFrom(new MailAddress("from@domain.com", "Sender Name", false));
// Добавить к получателям и получателям копии
message.getTo().addItem(new MailAddress("to1@domain.com", "Recipient 1", false));
message.getCC().addItem(new MailAddress("cc1@domain.com", "Recipient 3", false));
// Добавить вложения
message.getAttachments().addItem(new Attachment("word.docx"));
// Сохранить сообщение в форматах EML, EMLX, MSG и MHTML
message.save("EmailMessage.eml", SaveOptions.getDefaultEml());
message.save("EmailMessage.emlx", SaveOptions.createSaveOptions(MailMessageSaveType.getEmlxFormat()));
message.save("EmailMessage.msg", SaveOptions.getDefaultMsgUnicode());
message.save("EmailMessage.mhtml", SaveOptions.getDefaultMhtml());
Создайте электронное письмо с телом HTML с помощью Java
В предыдущем примере мы просто создали текстовое электронное письмо и сохранили его как файл электронной почты. Тем не менее, большинство электронных писем сегодня создаются с помощью HTML, чтобы хорошо организовать и представить содержимое электронной почты. В этом случае теги HTML используются для указания макета электронной почты. Давайте посмотрим, как создать электронное письмо с телом HTML, используя Aspose.Email для Java.
- Используйте класс MailMessage для создания нового сообщения электронной почты.
- Установите Тему, Кому, Копию и другие свойства.
- Установите тело письма, используя метод MailMessage.setHtmlBody(string).
- Сохраните сообщение электронной почты, используя метод MailMessage.save().
В следующем примере кода показано, как создать электронное письмо с телом HTML с помощью Java.
MailMessage message = new MailMessage();
// Установите тему сообщения, тело и информацию об отправителе
message.setSubject("New message created by Aspose.Email for .NET");
message.setHtmlBody("<b>This line is in bold.</b> <br/> <br/> <font color=blue>This line is in blue color</font>");
message.setFrom(new MailAddress("from@domain.com", "Sender Name", false));
// Добавить к получателям и получателям копии
message.getTo().addItem(new MailAddress("to1@domain.com", "Recipient 1", false));
message.getCC().addItem(new MailAddress("cc1@domain.com", "Recipient 3", false));
// Сохранить сообщение в форматах EML, EMLX, MSG и MHTML
message.save("EmailMessage.eml", SaveOptions.getDefaultEml());
Создайте электронное письмо с определенной кодировкой с помощью Java
Aspose.Email для Java также позволяет вам установить желаемую кодировку текста для сообщений электронной почты. Стандарт кодирования используется, чтобы сообщить почтовому приложению или браузеру, как интерпретировать символы в теле письма. Ниже приведены шаги для создания электронного письма с определенным стандартом кодирования.
- Создайте объект класса MailMessage.
- Установите свойства электронной почты, такие как «Тема», «Кому», «Копия» и т. д.
- Установите стандарт кодирования с помощью метода MailMessage.setBodyEncoding().
- Создайте и сохраните электронное письмо, используя метод MailMessage.save().
В следующем примере кода показано, как создать электронное письмо с определенным стандартом кодирования с помощью Java.
MailMessage message = new MailMessage();
// Установите тему сообщения, тело и информацию об отправителе
message.setSubject("New message created by Aspose.Email for .NET");
message.setHtmlBody("<b>This line is in bold.</b> <br/> <br/> <font color=blue>This line is in blue color</font>");
message.setFrom(new MailAddress("from@domain.com", "Sender Name", false));
// Укажите кодировку
message.setBodyEncoding(Charset.forName("US-ASCII"));
// Добавить к получателям и получателям копии
message.getTo().addItem(new MailAddress("to1@domain.com", "Recipient 1", false));
message.getCC().addItem(new MailAddress("cc1@domain.com", "Recipient 3", false));
// Сохранить сообщение в форматах EML, EMLX, MSG и MHTML
message.save("EmailMessage.eml", SaveOptions.getDefaultEml());
Отправка электронных писем Outlook с помощью Java
После того, как вы создали электронное письмо, вы можете отправить его получателям с помощью простого протокола передачи почты (SMTP). Ниже приведены шаги для отправки сообщения электронной почты с помощью Aspose.Email для Java.
- Создайте новое сообщение электронной почты или загрузите существующее с помощью класса MailMessage.
- Создайте экземпляр класса SmtpClient и задайте его хост, имя пользователя, пароль и порт.
- Отправьте электронное письмо с помощью метода SmtpClient.send().
В следующем примере кода показано, как отправить электронное письмо через SMTP-клиент в Java.
MailMessage message = new MailMessage();
// Установите тему сообщения, тело и информацию об отправителе
message.setSubject("New message created by Aspose.Email for .NET");
message.setHtmlBody("<b>This line is in bold.</b> <br/> <br/> <font color=blue>This line is in blue color</font>");
message.setFrom(new MailAddress("from@domain.com", "Sender Name", false));
// Укажите кодировку
message.setBodyEncoding(Charset.forName("US-ASCII"));
// Добавить к получателям и получателям копии
message.getTo().addItem(new MailAddress("to1@domain.com", "Recipient 1", false));
message.getCC().addItem(new MailAddress("cc1@domain.com", "Recipient 3", false));
// Создайте экземпляр класса SmtpClient
SmtpClient client = new SmtpClient();
// Укажите хост-сервер почтовой рассылки, Имя пользователя, Пароль, Порт
client.setHost("smtp.server.com");
client.setUsername("Username");
client.setPassword("Password");
client.setPort(25);
try
{
// Client.Send отправит это сообщение
client.send(message);
}
catch (Exception ex)
{
ex.printStackTrace();
}
Отправляйте электронные письма асинхронно с помощью Java
Aspose.Email для Java также позволяет отправлять электронные письма асинхронно. Для этого вы можете использовать метод SmtpClient.beginSend(). В следующем примере кода показано, как асинхронно отправлять электронные письма с помощью Java.
MailMessage message = new MailMessage();
// Установите тему сообщения, тело и информацию об отправителе
message.setSubject("New message created by Aspose.Email for .NET");
message.setHtmlBody("<b>This line is in bold.</b> <br/> <br/> <font color=blue>This line is in blue color</font>");
message.setFrom(new MailAddress("from@domain.com", "Sender Name", false));
// Укажите кодировку
message.setBodyEncoding(Charset.forName("US-ASCII"));
// Добавить к получателям и получателям копии
message.getTo().addItem(new MailAddress("to1@domain.com", "Recipient 1", false));
message.getCC().addItem(new MailAddress("cc1@domain.com", "Recipient 3", false));
// Создайте экземпляр класса SmtpClient
SmtpClient client = new SmtpClient();
// Укажите хост-сервер почтовой рассылки, Имя пользователя, Пароль, Порт
client.setHost("smtp.server.com");
client.setUsername("Username");
client.setPassword("Password");
client.setPort(25);
try
{
// Client.beginSend отправит это сообщение
client.beginSend(message);
}
catch (Exception ex)
{
ex.printStackTrace();
}
Отправка электронных писем с уведомлением о прочтении с использованием Java
Вы также можете добавить запрос на уведомление о прочтении в сообщения электронной почты. Эта функция позволяет получать уведомления после получения электронного письма. Ниже приведены шаги для создания и отправки сообщения электронной почты, содержащего запрос на уведомление о прочтении.
- Создайте новое сообщение электронной почты, используя класс MailMessage.
- Установите параметр уведомления о доставке с помощью метода MailMessage.setDeliveryNotificationOptions().
- Добавьте информацию о квитанции в заголовки электронной почты.
- Используйте класс SmtpClient для отправки электронной почты.
В следующем примере кода показано, как отправить электронное письмо, содержащее уведомление о прочтении, с помощью Java.
MailMessage message = new MailMessage();
// Установите тему сообщения, тело и информацию об отправителе
message.setSubject("New message created by Aspose.Email for .NET");
message.setHtmlBody("<b>This line is in bold.</b> <br/> <br/> <font color=blue>This line is in blue color</font>");
message.setFrom(new MailAddress("from@domain.com", "Sender Name", false));
// Установить параметры уведомлений
message.setDeliveryNotificationOptions(DeliveryNotificationOptions.OnSuccess);
message.getHeaders().add("Return-Receipt-To", "from@domain.com");
message.getHeaders().add("Disposition-Notification-To", "from@domain.com");
// Добавить к получателям
message.getTo().addItem(new MailAddress("to1@domain.com", "Recipient 1", false));
// Создайте экземпляр класса SmtpClient
SmtpClient client = new SmtpClient();
// Укажите хост-сервер почтовой рассылки, Имя пользователя, Пароль, Порт
client.setHost("smtp.server.com");
client.setUsername("Username");
client.setPassword("Password");
client.setPort(25);
try
{
// Client.Send отправит это сообщение
client.send(message);
}
catch (Exception ex)
{
ex.printStackTrace();
}
Отправляйте массовые электронные письма с помощью Java
Может быть случай, когда вам нужно отправить большое количество разных писем. В этом случае вы можете просто добавить все сообщения электронной почты в объект MailMessageCollection и передать его SMTP-клиенту для отправки. В следующем примере кода показано, как отправлять большое количество электронных писем с помощью Java.
// Создайте экземпляры класса MailMessage и укажите «Кому», «От», «Тема» и «Сообщение».
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?");
// Создайте экземпляр MailMessageCollection и добавьте в него сообщения электронной почты.
MailMessageCollection manyMsg = new MailMessageCollection();
manyMsg.addItem(message1);
manyMsg.addItem(message2);
manyMsg.addItem(message3);
// Создайте SmtpClient и укажите сервер, порт, имя пользователя и пароль
SmtpClient client = new SmtpClient("mail.server.com", 25, "Username", "Password");
try
{
// Отправка сообщений
client.send(manyMsg);
}
catch (Exception ex)
{
ex.printStackTrace();
}
Живые демонстрации
Вывод
В этом посте я показал вам, как создавать сообщения электронной почты Outlook и сохранять их в форматах EML, MSG и MTH с помощью Java. Кроме того, также обсуждаются различные способы отправки электронных писем на языке Java с использованием клиента STMP. Вы можете узнать больше о [библиотеке электронной почты Java] Aspose19, используя документацию.