Створення та надсилання електронних листів Outlook Java

Aspose.Email for Java — це потужний API обробки електронної пошти, який надає всі базові та розширені функції керування електронною поштою. Це дозволяє створювати повідомлення електронної пошти Outlook, читати наявні електронні листи та конвертувати повідомлення MSG, EML, PST, OST, MBOX і MHT в інші формати з ваших програм Java. У цій статті я продемонструю деякі основні, але важливі функції створення та надсилання електронних листів Outlook за допомогою Java.

У цій статті я збираюся розглянути такі функції створення та надсилання електронних листів:

Java Email API - встановлення

Aspose.Email for 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 for 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 for 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 for 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 for 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 for 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 від Aspose, використовуючи документацію.

Дивись також

Створюйте повідомлення Outlook і надсилайте електронні листи за допомогою C#Отримання електронних листів із сервера POP3 у PythonОтримати список контактів із Microsoft Exchange Server у C#
Отримати список контактів із Microsoft Exchange Server у JavaІмпортувати контакти з Gmail у C#Імпортувати контакти Gmail у Java
Перемістити електронну пошту до папки на Microsoft Exchange Server у C#Перемістити електронну пошту до папки на сервері Microsoft Exchange Server у JavaАналізуйте PST-файли Outlook у Python
Читання електронних листів зі спільної поштової скриньки на сервері Exchange у C#Читання електронних листів із спільної поштової скриньки на сервері Exchange у JavaЧитання PST-файлів MS Outlook у C# .NET
Читання PST-файлів MS Outlook у JavaЧитання файлів Outlook MSG на C#Робота з розмовами на сервері MS Exchange у C#
Робота з розмовами на сервері MS Exchange Server у JavaСтворення та читання повідомлень у сховищі Thunderbird на C#Створення та читання повідомлень у сховищі Thunderbird на Java
Створення та читання повідомлень у сховищі Thunderbird у PythonНадсилайте електронні листи через SMTP у PythonЧитання електронних листів із сервера Exchange у C#