Mengirim dan Meneruskan Pesan - Mengirim Pesan Email Outlook menggunakan Program Java
The SmtpClient kelas memungkinkan aplikasi mengirim email menggunakan Simple Mail Transfer Protocol (SMTP).
- The SmtpClient kelas adalah satu-satunya entri utama yang digunakan pengembang untuk mengirim pesan email.
- The SmtpClient kelas juga menyediakan metode pengiriman email umum lainnya, termasuk menulis pesan email ke sistem file, antrian pesan, dll.
- The SmtpClient kelas sepenuhnya mendukung dua model pemrograman ini:
- The SmtpClient kelas juga mendukung mengirim pesan sebagai TNEF
Untuk mengirim pesan email dan memblokir sambil menunggu email ditransmisikan ke server SMTP, gunakan salah satu metode Send sinkron. Untuk memungkinkan thread utama program Anda terus berjalan saat email ditransmisikan, gunakan beginSend metode.
Mengirim Email Secara Sinkron
Pesan email dapat dikirim secara sinkron menggunakan SmtpClient kelas send metode. Ini mengirim pesan email yang ditentukan melalui server SMTP untuk pengiriman. Pengirim pesan, penerima, subjek, dan isi pesan ditentukan menggunakan objek String. Untuk mengirim pesan email secara sinkron, ikuti langkah-langkah berikut:
- Buat sebuah instance dari MailMessage kelas dan atur propertinya.
- Buat sebuah instance dari SmtpClient kelas dan tentukan Host, port, nama pengguna & Kata Sandi.
- Kirim Pesan menggunakan SmtpClient kelas send metode dan melewatkan MailMessage instance.
Potongan kode Java berikut menunjukkan cara mengirim email Outlook secara sinkron.
// 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);
}
Mengirim Email Secara Asynchronous
Kadang-kadang, Anda mungkin ingin mengirim email secara asynchronous. Misalnya, jika Anda mengirim banyak email melalui aplikasi Anda, pendekatan sinkron mungkin tidak berhasil. Dalam skenario seperti itu, Anda dapat menggunakan beginSend. The beginSend metode dari SmtpClient kelas mengirim pesan email ke server SMTP untuk pengiriman. Metode ini tidak memblokir thread pemanggil dan memungkinkan pemanggil mengirimkan objek ke metode yang dipanggil saat operasi selesai. Untuk mengirim pesan email Outlook secara asynchronous di Java, ikuti langkah-langkah berikut:
- Buat sebuah instance dari MailMessage kelas dan gunakan properti yang berbeda.
- Buat sebuah instance dari SmtpClient kelas dan tentukan host, port, nama pengguna, dan kata sandi.
- Buat instance yang ditentukan pengguna yang akan diteruskan ke metode dan dipanggil ketika operasi asynchronous selesai.
- Kirim pesan menggunakan beginSend metode dari SmtpClient kelas dan melewatkan MailMessage instance dan instance yang ditentukan pengguna di dalamnya bersama dengan fungsi callback yang akan dipanggil ketika operasi selesai.
Untuk menerima notifikasi ketika email telah dikirim atau operasi telah dibatalkan, fungsi callback yang diberikan ke beginSend metode dipanggil. Setelah memanggil SmtpClient kelas beginSend metode tidak perlu menunggu pesan email terkirim sepenuhnya. Kita dapat memanggil metode lain beginSend pada saat yang sama. Ketika email telah dikirim menggunakan beginSend metode, potongan kode mencetak pesan ("Message Sent"). Program Java berikut atau potongan kode menunjukkan cara mengirim email secara asynchronous.
// 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.");
}
}
};
Mengirim Pesan yang Disimpan dari Disk
Berkas EML, (berkas Email Elektronik Outlook Express) berisi header email, isi pesan, dan lampiran apa pun. Aspose.Email memungkinkan pengembang bekerja dengan berkas EML dalam berbagai cara. Artikel ini menunjukkan cara memuat berkas EML dari disk dan mengirimnya sebagai email dengan SMTP. Anda dapat memuat berkas .eml dari disk atau aliran ke dalam MailMessage kelas dan mengirim pesan email menggunakan SmtpClient kelas. The MailMessage kelas adalah kelas utama untuk membuat pesan email baru, memuat berkas pesan email dari disk atau aliran, dan menyimpan pesan-pesan tersebut. Potongan kode Java berikut menunjukkan cara mengirim pesan yang disimpan dari disk.
// 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());
}
Mengirim Email Teks Biasa
Contoh pemrograman di bawah ini menunjukkan cara mengirim pesan email teks biasa. Body properti, properti dari MailMessage kelas, digunakan untuk menentukan konten teks biasa dari isi pesan. Untuk mengirim pesan email teks biasa, ikuti langkah-langkah berikut:
- Buat sebuah instansi dari MailMessage kelas.
- Tentukan alamat email pengirim dan penerima dalam MailMessage instance.
- Tentukan Body konten, digunakan untuk pesan teks biasa.
- Buat sebuah instansi dari SmtpClient kelas dan mengirim email.
Potongan kode berikut menunjukkan cara mengirim email teks biasa.
// 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);
}
Mengirim Email dengan Badan HTML
Contoh pemrograman di bawah ini menunjukkan cara Anda dapat mengirim pesan email HTML sederhana. HtmlBody, properti dari MailMessage kelas, digunakan untuk menentukan konten HTML dari isi pesan. Untuk mengirim email HTML sederhana, ikuti langkah-langkah berikut:
- Buat sebuah instansi dari MailMessage kelas.
- Tentukan alamat email pengirim dan penerima dalam MailMessage instance.
- Tentukan HtmlBody konten.
- Buat sebuah instansi dari SmtpClient kelas dan mengirim email menggunakan send metode.
Untuk keperluan artikel ini, konten HTML email bersifat sederhana:
This is the HTML body Kebanyakan email HTML akan lebih kompleks. Potongan program Java berikut menunjukkan cara mengirim email dengan badan 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;
}
Mengirim Email dengan Teks Pesan Alternatif
Contoh pemrograman di bawah ini menunjukkan cara mengirim pesan email HTML sederhana dengan konten alternatif. Gunakan AlternateView kelas untuk menentukan salinan pesan email dalam format yang berbeda. Misalnya, jika Anda mengirim pesan dalam HTML, Anda mungkin juga ingin menyediakan versi teks biasa untuk penerima yang menggunakan pembaca email yang tidak dapat menampilkan konten HTML. Atau, jika Anda mengirim buletin, Anda mungkin ingin menyediakan salinan teks biasa untuk penerima yang memilih menerima versi teks biasa. Untuk mengirim email dengan teks alternatif, ikuti langkah-langkah berikut:
- Buat sebuah instansi dari MailMessage kelas.
- Tentukan alamat email pengirim dan penerima dalam MailMessage instance.
- Buat sebuah instansi dari AlternateView kelas.
Ini membuat tampilan alternatif untuk pesan email menggunakan konten yang ditentukan dalam string.
- Tambahkan instansi dari AlternateView kelas ke MailMessage objek.
- Buat sebuah instansi dari SmtpClient kelas dan mengirim email menggunakan send metode.
Potongan kode berikut menunjukkan cara mengirim email dengan teks alternatif.
// 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);
Mengirim Email Massal
Mengirim email secara massal berarti mengirim sekumpulan email dalam satu pesan. Kita dapat mengirim sekumpulan email menggunakan SmtpClient kelas send overload metode yang menerima sebuah MailMessageCollection kelas:
- Buat sebuah instance dari SmtpClient kelas.
- Tentukan SmtpClient properti kelas.
- Buat sebuah instansi dari MailMessage kelas.
- Tentukan pengirim, penerima, subjek email, dan pesan dalam instansi dari MailMessage kelas.
- Ulangi dua langkah di atas lagi, jika Anda ingin mengirim email ke orang lain.
- Buat sebuah instance dari MailMessageCollection kelas.
- Tambahkan sebuah instansi dari MailMessage kelas dalam objek dari MailMessageCollection kelas.
- Sekarang kirim email Anda menggunakan SmtpClient kelas send metode dengan melewatkan instansi dari MailMessageCollection kelas di dalamnya.
Potongan kode berikut menunjukkan cara mengirim email massal.
// 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);
}
Dapatkan Informasi tentang Pesan Massal yang Dikirim
Ketika Anda mengirim pesan secara massal, Anda dapat memperoleh informasi tentang jumlah pesan yang berhasil dikirim dan daftar pesan tersebut. SucceededSending event digunakan untuk tujuan ini.
Contoh kode di bawah ini menunjukkan cara mendapatkan informasi tentang jumlah pesan yang berhasil dikirim:
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.");
}
Mengirim Email dengan MultiConnection
SmtpClient menyediakan sebuah UseMultiConnection properti yang dapat digunakan untuk membuat beberapa koneksi untuk operasi berat. Anda juga dapat mengatur jumlah koneksi yang akan digunakan selama mode multikoneksi dengan menggunakan SmtpClient.ConnectionsQuantity. Potongan kode berikut menunjukkan penggunaan mode multikoneksi untuk mengirim beberapa pesan.
// 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);
Mengirim Pesan sebagai TNEF
Email TNEF memiliki format khusus yang mungkin hilang jika dikirim menggunakan API standar. Aspose.Email menyediakan kemampuan untuk mengirim email sebagai TNEF, sehingga format terjaga. The SmtpClient kelas UseTnef properti dapat diatur untuk mengirim email sebagai TNEF. Potongan kode berikut menunjukkan cara mengirim pesan sebagai 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);
Mengirim Permintaan Pertemuan
Microsoft Outlook menawarkan fungsi kalender serta manajemen email. Ketika pengguna membuka email dengan undangan ke sebuah acara, Outlook meminta mereka untuk menerima atau menolak undangan tersebut. Aspose.Email memungkinkan pengembang menambahkan fungsi kalender ke email Anda.
Mengirim Permintaan via Email
Untuk mengirim permintaan pertemuan via email, ikuti langkah-langkah berikut:
- Buat sebuah instansi dari MailMessage kelas.
- Tentukan alamat pengirim dan penerima menggunakan sebuah instance dari MailMessage kelas.
- Inisialisasi sebuah instance dari Appointment kelas dan berikan nilainya.
- Tentukan ringkasan dan deskripsi dalam Calendar instance.
- Tambahkan Calendar) ke MailMessage instance dan meneruskannya Appointment instance.
|Permintaan pertemuan iCalendar yang dikirim via email| | :- | |
| Potongan kode berikut menunjukkan cara mengirim permintaan melalui 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);
}
Dukungan iCalendar untuk IBM Lotus Notes
Fitur kalender Aspose.Email didasarkan pada standar iCalendar, standar pertukaran data kalender (RFC 2445 atau RFC2445 Syntax Reference). Oleh karena itu, ia mendukung tidak hanya Microsoft Outlook tetapi juga IBM Lotus Notes. Untuk mengirim permintaan pertemuan di Lotus Notes, ikuti langkah yang sama seperti disebutkan di atas.
Meneruskan Email menggunakan SMTP Client
Meneruskan Email dengan SMTP client
Meneruskan email adalah praktik umum dalam komunikasi digital sehari-hari. Email yang diterima dapat diteruskan ke penerima tertentu tanpa membagikannya kepada pengirim asli. Aspose.Email API SmtpClient menyediakan kemampuan untuk meneruskan email ke penerima tertentu. Its Teruskan metode dapat digunakan untuk meneruskan email yang diterima atau disimpan ke penerima yang diinginkan seperti yang ditunjukkan dalam artikel ini. Potongan kode berikut menunjukkan cara meneruskan email menggunakan 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);
Meneruskan Email tanpa menggunakan MailMessage
API juga mendukung penerusan pesan EML tanpa harus memuatnya terlebih dahulu ke MailMessage. Ini berguna dalam kasus di mana sumber daya sistem terbatas dalam hal memori.
// 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);
}
}
Melakukan Mail Merge
Mail merge membantu Anda membuat dan mengirim sekumpulan pesan email serupa. Inti dari email tersebut sama, tetapi kontennya dapat dipersonalisasi. Biasanya, detail kontak penerima (nama depan, nama belakang, perusahaan, dll) digunakan untuk mempersonalisasi email.
|Ilustrasi cara kerja mail merge:| | :- | |
| Aspose.Email memungkinkan pengembang mengatur mail merge yang mencakup data dari berbagai sumber data.
Untuk melakukan mail merge dengan Aspose.Email, ikuti langkah-langkah berikut:
- Buat fungsi dengan tanda nama
- Buat sebuah instansi dari MailMessage kelas.
- Tentukan pengirim, penerima, subjek, dan isi.
- Buat tanda tangan untuk bagian akhir email.
- Buat sebuah instansi dari TemplateEngine kelas dan berikan kepadanya MailMessage instance.
- Ambil tanda tangan dalam TemplateEngine instance.
- Buat sebuah instansi dari DataTable kelas.
- Tambahkan kolom Receipt, FirstName, dan LastName sebagai sumber data dalam DataTable kelas.
- Buat sebuah instansi dari DataRow kelas.
- Tentukan alamat penerima, nama depan dan nama belakang dalam DataRow objek.
- Buat sebuah instansi dari MailMessageCollection kelas
- Tentukan TemplateEngine dan DataTable instance dalam MailMessageCollection instance.
- Buat sebuah instansi dari SmtpClient kelas dan tentukan server, port, nama pengguna, dan kata sandi.
- Kirim email menggunakan SmtpClient kelas send metode.
Dalam contoh di bawah, #FirstName# menunjukkan sebuah DataTable kolom, yang nilainya diatur oleh pengguna. Potongan kode berikut menunjukkan cara melakukan 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<Nancy@somedomain.com>");
dr.set("FirstName", "Nancy");
dr.set("LastName", "Doe");
dt.getRows().add(dr);
dr = dt.newRow();
dr.set("Receipt", "Andrew<Andrew@somedomain.com>");
dr.set("FirstName", "Andrew");
dr.set("LastName", "Doe");
dt.getRows().add(dr);
dr = dt.newRow();
dr.set("Receipt", "Janet<Janet@somedomain.com>");
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();
}
Melakukan Mail Merge Per Baris
Pengguna dapat menggabungkan baris data individu juga untuk mendapatkan hasil yang lengkap dan siap MailMessage objek. The TemplateEngine.merge metode dapat digunakan untuk melakukan mail merge per baris.
// Create message from the data in current row.
MailMessage message = engine.merge(currentRow);