Надсилання та пересилання повідомлень - Надсилання електронних листів Outlook за допомогою Java програми

The SmtpClient клас дозволяє застосункам надсилати електронну пошту за допомогою Simple Mail Transfer Protocol (SMTP).

Щоб надіслати електронне повідомлення і блокувати під час очікування передачі листа на SMTP-сервер, використайте один із синхронних методів Send. Щоб головний потік вашої програми продовжував виконання під час передачі листа, використайте beginSend метод.

Надсилання листів синхронно

Електронне повідомлення можна надіслати синхронно, використовуючи SmtpClient клас send метод. Він надсилає зазначене електронне повідомлення через SMTP-сервер для доставки. Відправника повідомлення, одержувачі, тема та тіло повідомлення вказуються за допомогою об’єктів String. Щоб синхронно надсилати електронне повідомлення, виконайте наведені нижче кроки:

  1. Створіть екземпляр MailMessage клас і встановіть його властивості.
  2. Створіть екземпляр SmtpClient клас і вкажіть хост, порт, ім’я користувача та пароль.
  3. Надішліть повідомлення за допомогою SmtpClient клас send метод і передаєте MailMessage екземпляр.

Наступний фрагмент коду Java показує, як синхронно надсилати листи Outlook.

// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-Java

// Declare msg as MailMessage instance
MailMessage msg = new MailMessage();

// 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);
}

Надсилання листів асинхронно

Іноді ви можете захотіти надсилати пошту асинхронно. Наприклад, якщо ви надсилаєте багато листів через ваш застосунок, синхронний підхід може не спрацювати. У такій ситуації ви можете використати beginSend. The beginSend метод SmtpClient клас надсилає електронне повідомлення на SMTP-сервер для доставки. Цей метод не блокує викликаючий потік і дозволяє передати виклику об’єкт, який буде викликаний після завершення операції. Щоб асинхронно надсилати електронні листи Outlook у Java, виконайте наступні кроки:

  1. Створіть екземпляр MailMessage клас і використовуйте його різні властивості.
  2. Створіть екземпляр SmtpClient клас і вкажіть хост, порт, ім’я користувача та пароль.
  3. Створіть визначений користувачем екземпляр, який буде переданий методу і викликаний, коли асинхронна операція завершиться.
  4. Надіслати повідомлення за допомогою beginSend метод SmtpClient клас і передати MailMessage екземпляр і визначений користувачем екземпляр у ньому разом із функцією зворотного виклику, яка буде викликана після завершення операції.

Щоб отримати сповіщення, коли електронний лист був відправлений або операція була скасована, функція зворотного виклику, передана до beginSend метод викликається. Після виклику SmtpClient клас beginSend метод не потрібно чекати, поки повідомлення електронної пошти буде повністю відправлене. Ми можемо викликати інший метод beginSend одночасно. Коли лист був надісланий за допомогою beginSend метод, фрагмент коду виводить повідомлення ("Message Sent"). Наведений Java‑програму або фрагмент коду показує, як надсилати листи асинхронно.

// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-Java

public static void run() {
    sendMail();
}

static SmtpClient getSmtpClient() {
    SmtpClient client = new SmtpClient();
    client.setHost("mail.server.com");
    // Specify your mail Username, Password, Port # and security option
    client.setUsername("username");
    client.setPassword("password");
    client.setPort(587);
    client.setSecurityOptions(SecurityOptions.SSLExplicit);
    return client;
}

static void sendMail() {
    try {

        // Declare msg as MailMessage instance
        MailMessage msg = new MailMessage("sender@gmail.com", "receiver@gmail.com", "Test subject", "Test body");
        SmtpClient client = getSmtpClient();
        Object state = new Object();
        IAsyncResult ar = client.beginSend(msg, callback, state);
        // If the user canceled the send, and mail hasn't been sent yet,
        client.cancelAsyncOperation(ar);

        msg.dispose();
        System.out.println("Goodbye.");
    } catch (Exception ex) {
        System.err.println(ex);
    }
}

static AsyncCallback callback = new AsyncCallback() {
    public void invoke(IAsyncResult ar) {
        IAsyncResultExt task = null;
        if (ar instanceof IAsyncResult)
            task = (IAsyncResultExt) ar;

        if (task != null && task.isCanceled()) {
            System.out.println("Send canceled.");
        }

        if (task != null && task.getErrorInfo() != null) {
            System.out.println(task.getErrorInfo());
        } else {
            System.out.println("Message Sent.");
        }
    }
};

Надсилання збережених повідомлень з диска

Файли EML (файли електронної пошти Outlook Express) містять заголовок листа, тіло повідомлення та будь‑які вкладення. Aspose.Email дозволяє розробникам працювати з файлами EML різними способами. У цій статті показано, як завантажити файли EML з диска та надіслати їх як листи за допомогою SMTP. Ви можете завантажити файли .eml з диска або потоку у MailMessage клас і надішліть повідомлення, використовуючи SmtpClient клас. The MailMessage клас є головним класом для створення нових електронних листів, завантаження файлів повідомлень електронної пошти з диска або потоку та їх збереження. Наведений фрагмент коду Java показує, як надсилати збережені повідомлення з диска.

// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-Java

// Load an EML file in MailMessage class
MailMessage message = MailMessage.load(dataDir + "test.eml");

// Send this message using SmtpClient
SmtpClient client = new SmtpClient("host", "username", "password");

try {
    client.send(message);
} catch (Exception ex) {
    System.out.println(ex.getMessage());
}

Надсилання листа у форматі простого тексту

Нижче наведені приклади коду демонструють, як надіслати лист у форматі простого тексту. Тіло властивість, властивість MailMessage клас, який використовується для вказання простого текстового вмісту тіла повідомлення. Щоб надіслати лист у форматі простого тексту, виконайте наступні кроки:

  • Створіть екземпляр MailMessage клас.
  • Вкажіть електронну адресу відправника та одержувача у MailMessage екземпляр.
  • Вкажіть Тіло вміст, що використовується для простого текстового повідомлення.
  • Створіть екземпляр SmtpClient клас і надішліть лист.

У наведеному фрагменті коду показано, як надіслати лист у форматі простого тексту.

// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-Java

// Create an instance of the MailMessage class
MailMessage message = new MailMessage();

// Set From field, To field and Plain text body
message.setFrom(MailAddress.to_MailAddress("sender@sender.com"));
message.getTo().add("receiver@receiver.com");
message.setBody("This is Plain Text Body");

// Create an instance of the SmtpClient class
SmtpClient client = new SmtpClient();

// And Specify your mailing host server, Username, Password and Port
client.setHost("smtp.server.com");
client.setUsername("Username");
client.setPassword("Password");
client.setPort(25);

try {
    // Client.Send will send this message
    client.send(message);
    System.out.println("Message sent");
} catch (Exception ex) {
    System.err.println(ex);
}

Надсилання електронного листа з HTML‑текстом

Нижче наведені приклади коду демонструють, як можна надіслати простий HTML‑лист. HtmlBody, властивість MailMessage клас, який використовується для вказання HTML‑вмісту тіла повідомлення. Щоб надіслати простий HTML‑лист, виконайте наступні кроки:

  • Створіть екземпляр MailMessage клас.
  • Вкажіть електронну адресу відправника та одержувача у MailMessage екземпляр.
  • Вкажіть HtmlBody вміст.
  • Створіть екземпляр SmtpClient клас і надішліть лист, використовуючи send метод.

Для цілей цієї статті HTML‑вміст електронного листа простий: This is the HTML body Більшість HTML‑листів будуть складнішими. Наведений фрагмент програми Java показує, як надіслати лист з HTML‑текстом.

public static void run() {
    // 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>");
    SmtpClient client = getSmtpClient();
    try {
        // Client will send this message
        client.send(msg);
        System.out.println("Message sent");
    } catch (Exception ex) {
        System.err.println(ex);
    }

    System.out.println("Email sent with HTML body.");
}

private static SmtpClient getSmtpClient() {
    SmtpClient client = new SmtpClient("smtp.gmail.com", 587, "your.email@gmail.com", "your.password");
    client.setSecurityOptions(SecurityOptions.Auto);
    return client;
}

Надсилання електронного листа з альтернативним текстом повідомлення

Нижче наведені приклади коду демонструють, як надіслати простий HTML‑лист з альтернативним вмістом. Використовуйте AlternateView клас для вказання копій електронного листа в різних форматах. Наприклад, якщо ви надсилаєте повідомлення у форматі HTML, ви також можете надати версію у вигляді простого тексту для одержувачів, які користуються поштовими клієнтами, що не підтримують HTML. Або, якщо ви надсилаєте розсилку, ви можете надати простий текстовий варіант для тих одержувачів, які обрали отримання простого тексту. Щоб надіслати електронний лист з альтернативним текстом, виконайте наступні кроки:

  1. Створіть екземпляр MailMessage клас.
  2. Вкажіть електронні адреси відправника та одержувача у MailMessage екземпляр.
  3. Створіть екземпляр AlternateView клас.

Це створює альтернативний вигляд електронного листа, використовуючи вміст, заданий у рядку.

  1. Додайте екземпляр AlternateView клас до MailMessage об’єкт.
  2. Створіть екземпляр SmtpClient клас і надішліть лист, використовуючи send метод.

У наведеному фрагменті коду показано, як надіслати електронний лист з альтернативним текстом.

// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-Java

// Declare message as MailMessage instance
MailMessage message = new MailMessage();

// Creates AlternateView to view an email message using the content specified in the //String
AlternateView alternate = AlternateView.createAlternateViewFromString("Alternate Text");

// Adding alternate text
message.getAlternateViews().addItem(alternate);

Надсилання масових листів

Надсилання електронних листів масово означає відправку пакету листів в одному повідомленні. Ми можемо надіслати пакет листів, використовуючи SmtpClient клас send перевантаження методу, яке приймає MailMessageCollection клас:

  1. Створіть екземпляр SmtpClient клас.
  2. Вкажіть SmtpClient властивостей класу.
  3. Створіть екземпляр MailMessage клас.
  4. Вкажіть відправника, одержувача, тему листа та повідомлення у екземплярі MailMessage клас.
  5. Повторіть вищевказані два кроки ще раз, якщо ви хочете надіслати листа іншій особі.
  6. Створіть екземпляр MailMessageCollection клас.
  7. Додайте екземпляр MailMessage клас в об’єкті MailMessageCollection клас.
  8. Тепер надішліть ваш електронний лист, використовуючи SmtpClient клас send метод, передаючи екземпляр MailMessageCollection клас у цьому.

У наведеному фрагменті коду показано, як надсилати масові електронні листи.

// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-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
MailMessageCollection manyMsg = new MailMessageCollection();
manyMsg.addItem(message1);
manyMsg.addItem(message2);
manyMsg.addItem(message3);

// Use client.BulkSend function to complete the bulk send task
try {
    // Send Message using BulkSend method
    client.send(manyMsg);
    System.out.println("Message sent");
} catch (Exception ex) {
    System.err.println(ex);
}

Отримання інформації про масово надіслані повідомлення

Коли ви надсилаєте повідомлення масово, ви можете отримати інформацію про кількість успішно надісланих повідомлень та список цих повідомлень. SucceededSending подія використовується для цієї мети.

Нижче наведений приклад коду показує, як отримати інформацію про кількість успішно надісланих повідомлень:

try (SmtpClient client = new SmtpClient(host, SecurityOptions.Auto)) {
    final AtomicInteger messageCount = new AtomicInteger(0);

    client.setSucceededSending(new EventHandler<MailMessageEventArgs>() {
        public void invoke(Object sender, MailMessageEventArgs eventArgs) {
            System.out.println("The message " + eventArgs.getMessage().getSubject() + " was successfully sent.");
            messageCount.incrementAndGet();
        }
    });

    client.send(messages);

    System.out.println(messageCount + " messages were successfully sent.");
}

Надсилання електронних листів з MultiConnection

SmtpClient надає UseMultiConnection властивість, яку можна використати для створення декількох з’єднань під час інтенсивних операцій. Ви також можете встановити кількість з’єднань, які будуть використані в режимі багатоз’єднання, за допомогою SmtpClient.ConnectionsQuantity. У наведеному фрагменті коду продемонстровано використання режиму багатоз’єднання для надсилання кількох повідомлень.

// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-Java

SmtpClient smtpClient = new SmtpClient();
smtpClient.setHost("<HOST>");
smtpClient.setUsername("<USERNAME>");
smtpClient.setPassword("<PASSWORD>");
smtpClient.setPort(587);
smtpClient.setSupportedEncryption(EncryptionProtocols.Tls);
smtpClient.setSecurityOptions(SecurityOptions.SSLExplicit);

List<MailMessage> messages = new ArrayList<MailMessage>();
for (int i = 0; i < 20; i++) {
    MailMessage message = new MailMessage("<EMAIL ADDRESS>", "<EMAIL ADDRESS>", "Test Message - " + UUID.randomUUID().toString(),
            "SMTP Send Messages with MultiConnection");
    messages.add(message);
}

smtpClient.setConnectionsQuantity(5);
smtpClient.setUseMultiConnection(MultiConnectionMode.Enable);
smtpClient.send(messages);

Надсилання повідомлення у форматі TNEF

Листи TNEF мають спеціальне форматування, яке може бути втрачено при надсиланні через стандартний API. Aspose.Email забезпечує можливість надсилати листи у форматі TNEF, зберігаючи їх формат. The SmtpClient клас UseTnef властивість можна встановити, щоб надсилати лист у форматі TNEF. Наступний фрагмент коду показує, як надіслати повідомлення як TNEF.

// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-Java

String emlFileName = dataDir + "Message.eml"; // A TNEF Email

// Load from eml
MailMessage eml1 = MailMessage.load(emlFileName, new EmlLoadOptions());
eml1.setFrom(MailAddress.to_MailAddress("somename@gmail.com"));
eml1.getTo().clear();
eml1.getTo().addItem(new MailAddress("first.last@test.com"));
eml1.setSubject("With PreserveTnef flag during loading");
eml1.setDate(new Date());
SmtpClient client = new SmtpClient("smtp.gmail.com", 587, "somename", "password");
client.setSecurityOptions(SecurityOptions.Auto);
client.setUseTnef(true); // Use this flag to send as TNEF
client.send(eml1);

Надсилання запитів на зустріч

Microsoft Outlook пропонує функції календаря, а також управління електронною поштою. Коли користувач відкриває лист з запрошенням на подію, Outlook пропонує прийняти або відхилити запрошення. Aspose.Email дозволяє розробникам додавати функції календаря до ваших листів.

Надсилання запитів електронною поштою

Щоб надсилати запити на зустрічі електронною поштою, виконайте наступні кроки:

  • Створіть екземпляр MailMessage клас.
  • Вкажіть адреси відправника та одержувача, використовуючи екземпляр MailMessage клас.
  • Ініціалізуйте екземпляр Appointment клас і передайте його значення.
  • Вкажіть підсумок і опис у Calendar екземпляр.
  • Додайте Calendar) до MailMessage екземпляр і передайте йому Appointment екземпляр.

|Запит на зустріч iCalendar, надісланий електронною поштою| | :- | |todo:image_alt_text| Наступний фрагмент коду показує, як надсилати запити через Email.

// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-Java

// Create an instance of the MailMessage class
MailMessage msg = new MailMessage();

// Set the sender, recipient, who will receive the meeting request. Basically, the recipient is the same as the meeting attendees
msg.setFrom(MailAddress.to_MailAddress("newcustomeronnet@gmail.com"));
msg.setTo(MailAddressCollection.to_MailAddressCollection("person1@domain.com, person2@domain.com, person3@domain.com, asposetest123@gmail.com"));

// Create Appointment instance
Calendar cal = Calendar.getInstance();
cal.set(2015, Calendar.JULY, 17, 13, 0, 0);
Date startDate = cal.getTime();
cal.set(2015, Calendar.JULY, 17, 14, 0, 0);
Date endDate = cal.getTime();
Appointment app = new Appointment("Room 112", startDate, endDate, msg.getFrom(), msg.getTo());
app.setSummary("Release Meetting");
app.setDescription("Discuss for the next release");

// Add appointment to the message and Create an instance of SmtpClient class
msg.addAlternateView(app.requestApointment());
SmtpClient client = getSmtpClient();

try {
    // Client.Send will send this message
    client.send(msg);
    System.out.println("Message sent");
} catch (Exception ex) {
    System.err.println(ex);
}

Підтримка iCalendar у IBM Lotus Notes

Функція календаря Aspose.Email базується на стандарті iCalendar, стандарті обміну даними календаря (RFC 2445 або RFC2445 Syntax Reference). Тому вона підтримує не лише Microsoft Outlook, а й IBM Lotus Notes. Щоб надіслати запит на зустріч у Lotus Notes, дотримуйтесь тих самих кроків, що й вище.

Переслати лист за допомогою SMTP Client

Пересилання листа за допомогою SMTP-клієнта

Пересилання листа — поширена практика у цифровому спілкуванні. Отриманий лист можна переслати конкретним одержувачам, не розкриваючи його оригінальним відправникам. Aspose.Email API SmtpClient надає можливість пересилати лист до конкретних одержувачів. Його Переслати метод можна використати для пересилання отриманого або збереженого листа потрібним одержувачам, як показано у цій статті. Наступний фрагмент коду демонструє, як переслати лист за допомогою SMTP Client.

// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-Java

// Create an instance of SmtpClient class
SmtpClient client = new SmtpClient();

// Specify your mailing host server, Username, Password, Port and SecurityOptions
client.setHost("mail.server.com");
client.setUsername("username");
client.setPassword("password");
client.setPort(587);
client.setSecurityOptions(SecurityOptions.SSLExplicit);
MailMessage message = MailMessage.load(dataDir + "Message.eml");
client.forward("Recipient1@domain.com", "Recipient2@domain.com", message);

Пересилання електронної пошти без використання MailMessage

API також підтримує пересилання EML-повідомлень без попереднього завантаження в MailMessage. Це корисно у випадках, коли доступно обмежені ресурси оперативної пам’яті.

// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-Java

String host = "mail.server.com";
String username = "username";
String password = "password";
int smtpPort = 587;
String sender = "Sender@domain.com";
MailAddressCollection recipients = new MailAddressCollection();
recipients.add("recepient1@domain.com, recepient2@domain.com");

try (SmtpClient client = new SmtpClient(host, smtpPort, username, password, SecurityOptions.Auto)) {
    String fileName = "test.eml";
    try (FileInputStream fs = new FileInputStream(new File(dataDir + fileName))) {
        client.forward(sender, recipients, fs);
    }
}

Виконання злиття листів

Злиття листів допомагає створювати та надсилати пакет подібних електронних листів. Основна частина листів однакова, але вміст можна персоналізувати. Зазвичай для персоналізації листа використовуються контактні дані одержувача (ім’я, прізвище, компанія тощо).

|Ілюстрація роботи злиття листів:| | :- | |todo:image_alt_text| Aspose.Email дозволяє розробникам налаштовувати злиття листів, які включають дані з різних джерел даних.

Щоб виконати злиття листів за допомогою Aspose.Email, виконайте такі кроки:

  1. Створіть функцію з сигнатурою назви
  2. Створіть екземпляр MailMessage клас.
  3. Вкажіть відправника, одержувача, тему та тіло.
  4. Створіть підпис для кінця листа.
  5. Створіть екземпляр TemplateEngine класі і передайте йому MailMessage екземпляр.
  6. Отримайте підпис у TemplateEngine екземпляр.
  7. Створіть екземпляр DataTable клас.
  8. Додайте стовпці Receipt, FirstName та LastName як джерела даних у DataTable клас.
  9. Створіть екземпляр DataRow клас.
  10. Вкажіть адресу одержувача, ім’я та прізвище у DataRow об’єкт.
  11. Створіть екземпляр MailMessageCollection клас
  12. Вкажіть TemplateEngine  і DataTable екземпляри в MailMessageCollection екземпляр.
  13. Створіть екземпляр SmtpClient клас і вкажіть сервер, порт, ім’я користувача та пароль.
  14. Надсилати листи за допомогою SmtpClient клас send метод.

У прикладі нижче, #FirstName# вказує на DataTable стовпець, значення якого встановлює користувач. Наступний фрагмент коду показує, як виконати злиття листів.

// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-Java
public static void run() {
    // The path to the File directory.
    String dstEmail = dataDir + "EmbeddedImage.msg";

    // Create a new MailMessage instance
    MailMessage msg = new MailMessage();

    // Add subject and from address
    msg.setSubject("Hello, #FirstName#");
    msg.setFrom(MailAddress.to_MailAddress("sender@sender.com"));

    // Add email address to send email also Add mesage field to HTML body
    msg.getTo().add("your.email@gmail.com");
    String htmlBody = "Your message here/r/n" + "Thank you for your interest in <STRONG>Aspose.Email</STRONG>.";

    // Use GetSignment as the template routine, which will provide the same signature
    htmlBody += "<br><br>Have fun with it.<br><br>#GetSignature()#";

    msg.setHtmlBody(htmlBody);

    // Create a new TemplateEngine with the MSG message, Register GetSignature routine. It will be used in MSG.
    TemplateEngine engine = new TemplateEngine(msg);
    engine.registerRoutine("GetSignature", new TemplateRoutine() {
        public Object invoke(Object[] args) {
            return getSignature(args);
        }
    });

    // Create an instance of DataTable and Fill a DataTable as data source
    DataTable dt = new DataTable();
    dt.getColumns().add("Receipt");
    dt.getColumns().add("FirstName");
    dt.getColumns().add("LastName");

    DataRow dr;
    dr = dt.newRow();
    dr.set("Receipt", "Nancy&lt;Nancy@somedomain.com&gt;");
    dr.set("FirstName", "Nancy");
    dr.set("LastName", "Doe");
    dt.getRows().add(dr);
    dr = dt.newRow();
    dr.set("Receipt", "Andrew&lt;Andrew@somedomain.com&gt;");
    dr.set("FirstName", "Andrew");
    dr.set("LastName", "Doe");
    dt.getRows().add(dr);
    dr = dt.newRow();
    dr.set("Receipt", "Janet&lt;Janet@somedomain.com&gt;");
    dr.set("FirstName", "Janet");
    dr.set("LastName", "Doe");
    dt.getRows().add(dr);

    MailMessageCollection messages;
    try {
        // Create messages from the message and datasource.
        messages = engine.instantiate(dt);

        // Create an instance of SmtpClient and specify server, port, username and password
        SmtpClient client = new SmtpClient("smtp.gmail.com", 587, "your.email@gmail.com", "your.password");
        client.setSecurityOptions(SecurityOptions.Auto);

        // Send messages in bulk
        client.send(messages);
    } catch (MailException ex) {
        System.err.println(ex);
    }

    catch (SmtpException ex) {
        System.err.println(ex);
    }

    System.out.println("Message sent after performing mail merge.");
}

// Template routine to provide signature
static Object getSignature(Object[] args) {
    return "Aspose.Email Team<br>Aspose Ltd.<br>" + new Date().toString();
}

Виконання порядкового злиття листів

Користувач може також зливати окремі рядки даних, щоб отримати повний і готовий MailMessage об’єкт. The TemplateEngine.merge метод можна використати для виконання порядкового злиття листів.

// Create message from the data in current row.
MailMessage message = engine.merge(currentRow);