Изпращане и препращане на съобщения - Изпращане на Outlook имейл съобщения с Java програма

Този SmtpClient класът позволява на приложения да изпращат имейли, използвайки протокола Simple Mail Transfer Protocol (SMTP).

  • Този SmtpClient класът е единственото основно входно място, което разработчиците използват за изпращане на пощенски съобщения.
  • Този SmtpClient класът също предоставя други чести методи за доставка на имейли, включително записване на имейл съобщения във файловата система, опашка за съобщения и др.
  • Този SmtpClient класът изцяло поддържа тези два програмни модела:
  • Този SmtpClient класът също поддържа изпращане на съобщения като TNEF

За да изпратите имейл съобщението и да блокирате, докато се изчака предаването му до 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 Electronic Mail файлове) съдържат имейл заглавка, тяло на съобщението и всякакви прикачени файлове. Aspose.Email позволява на разработчиците да работят с EML файлове по различни начини. Тази статия показва как да заредите EML файлове от диск и да ги изпратите като имейли чрез SMTP. Можете да заредите .eml файлове от диск или поток в MailMessage клас и изпратете имейл съобщението, използвайки SmtpClient клас. Този 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| Следният кодов фрагмент ви показва как да изпратите заявки по имейл.

// 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 клиент

Препращане на имейл с SMTP клиент

Препращането на имейл е честа практика в ежедневната дигитална комуникация. Получен имейл може да бъде препратен до конкретни получатели, без да се споделя с оригиналните изпращачи. Aspose.Email API SmtpClient осигурява възможност за препращане на имейл до конкретни получатели. Неговият Препращане методът може да се използва за препращане на получен или запазен имейл към желаните получатели, както е показано в тази статия. Следният кодов фрагмент ви показва как да препратите имейл, използвайки SMTP клиент.

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

Извършване на Mail Merge

Mail merge‑овете ви помагат да създадете и изпратите партида от сходни имейл съобщения. Основата на имейлите е еднаква, но съдържанието може да бъде персонализирано. Обикновено данните за контакт на получателя (име, фамилия, фирма и др.) се използват за персонализиране на имейла.

|Илюстрация как работи сливането на поща:| | :- | |todo:image_alt_text| Aspose.Email позволява на разработчиците да настройват сливане на поща, което включва данни от разнообразни източници.

За да извършите сливане на писма (mail merge) с 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 колона, чиято стойност се задава от потребителя. Следният кодов фрагмент ви показва как да извършите Mail Merge.

// 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 обект. Това TemplateEngine.merge методът може да се използва за извършване на редово сливане на поща.

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