Di blog ini, Anda akan mempelajari cara membuat pesan email Outlook (termasuk MSG, EML, EMLX, atau MHTML) dalam C#. Selain itu, kami akan mendemonstrasikan cara mengirim email secara sinkron atau asinkron menggunakan C# di .NET atau .NET Core.

C # mengirim email prospek

Email telah menjadi sumber utama untuk bertukar pesan dan berbagi konten seperti dokumen, gambar, atau jenis file lainnya. Frekuensi penggunaan email lebih banyak dalam sistem online untuk berbagi pemberitahuan atau dokumen penting dengan banyak entitas. Dalam kasus seperti itu, menyiapkan template dan mengirim email ke beberapa pemangku kepentingan secara manual bisa menjadi tugas yang menyita waktu dan melelahkan.

Di sinilah kebutuhan akan Layanan Otomasi Email yang dapat digunakan untuk membuat dan mengirim email dengan mulus. Jadi dalam artikel ini, saya akan mengajari Anda cara membuat pesan email dengan format Outlook populer dan mengotomatiskan proses pengiriman email secara terprogram. Setelah membaca artikel ini, Anda akan dapat:

  • buat dan simpan pesan email di C#,
  • buat email dengan isi HTML di C#,
  • buat email dengan penyandian tertentu di C#,
  • mengirim email secara sinkron menggunakan SMTP di C#,
  • kirim email secara asinkron menggunakan SMTP di C#,
  • dan kirim email massal dalam C#.

C# API untuk Membuat dan Mengirim Email Outlook

Untuk mengotomatiskan proses pembuatan dan pengiriman pesan email, kami akan menggunakan Aspose.Email for .NET yang merupakan API manipulasi dan pemrosesan email yang ampuh. Ini mendukung format email populer termasuk pesan MS Outlook seperti MSG, EML/EMLX, dll. Anda dapat langsung mengunduh DLL API atau menginstalnya melalui NuGet Package Manager atau Package Manager Console di Visual Studio .

PM> Install-Package Aspose.Email

Setelah Anda membuat aplikasi C# (Konsol, ASP.NET, dll.) dan menginstal Aspose.Email for .NET, Anda dapat mulai membuat dan mengirim email dalam C#.

Buat Email Outlook di C#

Untuk membuat atau memanipulasi pesan email Outlook, Aspose.Email menyediakan kelas MailMessage. Kelas ini memungkinkan Anda mengatur semua properti pesan email (Subjek, Ke, Dari, dan Badan), menambahkan lampiran, dan menyimpan pesan dalam berbagai format email seperti EML, MSG, MHTML, dll. Berikut ini adalah langkah-langkah untuk membuat pesan email:

  • Buat instance kelas MailMessage.
  • Tetapkan properti pesan.
  • Simpan pesan email menggunakan metode MailMessage.Save().

Contoh kode berikut menunjukkan cara membuat dan menyimpan pesan email di C#.

// Buat instance baru dari kelas MailMessage
MailMessage message = new MailMessage();

// Tetapkan subjek pesan, isi dan informasi pengirim
message.Subject = "New message created by Aspose.Email for .NET";
message.Body = "This is the body of the email.";
message.From = new MailAddress("from@domain.com", "Sender Name", false);

// Tambahkan Ke penerima dan penerima CC
message.To.Add(new MailAddress("to1@domain.com", "Recipient 1", false));
message.CC.Add(new MailAddress("cc1@domain.com", "Recipient 3", false));

// Tambah lampiran
message.Attachments.Add(new Attachment("word.docx"));

// Simpan pesan dalam format EML, EMLX, MSG dan MHTML
message.Save("EmailMessage.eml", SaveOptions.DefaultEml);
message.Save("EmailMessage.emlx", SaveOptions.CreateSaveOptions(MailMessageSaveType.EmlxFormat));
message.Save("EmailMessage.msg", SaveOptions.DefaultMsgUnicode);
message.Save("EmailMessage.mhtml", SaveOptions.DefaultMhtml);

Buat Email Outlook dengan Badan HTML di C#

Tag HTML digunakan untuk membuat isi email lebih terstruktur, rapi dan diperkaya dengan berbagai elemen seperti tabel, gambar, daftar, dan sebagainya. Jika Anda ingin membuat email dengan badan HTML, Anda dapat menggunakan properti MailMessage.HtmlBody. Contoh kode berikut menunjukkan cara membuat email Outlook dengan isi HTML di C#.

// Buat instance baru dari kelas MailMessage
MailMessage message = new MailMessage();

// Tetapkan subjek pesan, badan HTML, dan informasi pengirim
message.Subject = "New message created by Aspose.Email for .NET";
message.HtmlBody = "<b>This line is in bold.</b> <br/> <br/>" + "<font color=blue>This line is in blue color</font>";
message.From = new MailAddress("from@domain.com", "Sender Name", false);

// Tambahkan Ke penerima dan penerima CC
message.To.Add(new MailAddress("to1@domain.com", "Recipient 1", false));
message.CC.Add(new MailAddress("cc1@domain.com", "Recipient 3", false));

// Simpan pesan dalam format EML/EMLX/MSG/MHTML
message.Save("EmailMessage.eml", SaveOptions.DefaultEml);

C # Buat Email Outlook dengan Pengodean Khusus

Anda juga dapat menentukan standar penyandian yang diinginkan untuk memberi tahu browser atau aplikasi email tentang cara menginterpretasikan karakter di badan email. Properti MailMessage.BodyEncoding digunakan untuk tujuan ini. Contoh kode berikut menunjukkan cara menyetel body encoding saat membuat email Outlook menggunakan C#.

// Buat instance baru dari kelas MailMessage
MailMessage message = new MailMessage();

// Tetapkan subjek pesan, badan HTML, pengirim, dan informasi penerima
message.Subject = "New message created by Aspose.Email for .NET";
message.HtmlBody = "<b>This line is in bold.</b> <br/> <br/>" + "<font color=blue>This line is in blue color</font>";
message.From = new MailAddress("from@domain.com", "Sender Name", false);
message.To.Add(new MailAddress("to1@domain.com", "Recipient 1", false));

// Tentukan pengkodean 
message.BodyEncoding = Encoding.ASCII;

// Simpan pesan dalam format EML/EMLX/MSG/MHTML
message.Save("EmailMessage.msg", SaveOptions.DefaultMsgUnicode);

Kirim Email Outlook Secara Sinkron atau Asinkron dalam C#

Sekarang, setelah Anda membuat pesan email, Anda dapat mengirimkannya ke penerima secara sinkron atau asinkron. Kelas SmtpClient memungkinkan Anda mengirim pesan email Outlook menggunakan SMTP (Simple Mail Transfer Protocol). Berikut langkah-langkah mengirim email di C# menggunakan Aspose.Email for .NET.

  • Buat atau muat pesan email menggunakan kelas MailMessage.
  • Buat instance kelas SmtpClient dan atur host, nama pengguna, kata sandi, dan nomor port.
  • Kirim email secara sinkron atau asinkron menggunakan metode SmtpClient.Send atau SmtpClient.SendAsync.

Kirim Email Outlook Secara Sinkron di C#

// Buat instance MailMessage. Anda dapat membuat pesan baru atau memuat file pesan yang sudah dibuat (eml, msg, dll.)
MailMessage msg = MailMessage.Load("EmailMessage.msg");

// Buat instance kelas SmtpClient
SmtpClient client = new SmtpClient();

// Tentukan Host surat Anda, Nama Pengguna, Kata Sandi, Port # dan opsi Keamanan
client.Host = "mail.server.com";
client.Username = "username";
client.Password = "password";
client.Port = 587;
client.SecurityOptions = SecurityOptions.SSLExplicit;
try
{
	// Kirim email ini
	client.Send(msg); 
}
catch (Exception ex)
{
	Trace.WriteLine(ex.ToString());
}

Kirim Email Outlook Secara Asinkron di C#

// Buat instance MailMessage. Anda dapat membuat pesan baru atau memuat file pesan yang sudah dibuat (eml, msg, dll.)
MailMessage msg = MailMessage.Load("EmailMessage.msg");

// Buat instance kelas SmtpClient
SmtpClient client = new SmtpClient();

// Tentukan Host surat Anda, Nama Pengguna, Kata Sandi, Port # dan opsi Keamanan
client.Host = "mail.server.com";
client.Username = "username";
client.Password = "password";
client.Port = 587;
client.SecurityOptions = SecurityOptions.SSLExplicit;

// Tentukan Host surat Anda, Nama Pengguna, Kata Sandi, Port # dan opsi Keamanan
client.Host = "mail.server.com";
client.Username = "username";
client.Password = "password";
client.Port = 587;
client.SecurityOptions = SecurityOptions.SSLExplicit; 

// Kirim pesan
client.SendAsync(msg);

Console.WriteLine("Sending message..."); 

msg.Dispose(); 

Kirim Email Massal dalam C#

Anda juga dapat membuat dan mengirim email secara massal. Kelas MailMessageCollection digunakan untuk menampung kumpulan pesan email yang ingin Anda kirim. Contoh kode berikut menunjukkan cara mengirim email massal di C#.

// Buat SmtpClient dan tentukan server, port, nama pengguna, dan kata sandi
SmtpClient client = new SmtpClient("mail.server.com", 25, "Username", "Password");

// Buat instance kelas MailMessage dan tentukan Kepada, Dari, Subjek, dan Pesan
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?");

// Buat instance MailMessageCollection dan tambahkan pesan email ke dalamnya
MailMessageCollection manyMsg = new MailMessageCollection();
manyMsg.Add(message1);
manyMsg.Add(message2);
manyMsg.Add(message3);
 
try
{  
	// Kirim pesan
	client.Send(manyMsg); 
}
catch (Exception ex)
{
	Trace.WriteLine(ex.ToString());
}

Aspose Email API untuk C# - Demo Langsung

Kesimpulan

Pada artikel ini, Anda telah mempelajari cara membuat email Outlook di C#. Selain itu, Anda telah melihat cara mengirim email secara sinkron atau asinkron dari dalam aplikasi .NET. Anda dapat menjelajahi dokumentasi dari Aspose.Email for .NET untuk mempelajari lebih lanjut tentang API.

Lihat juga

Tambah dan Perbarui Aturan Kotak Masuk di MS Exchange Server di C#Tambah dan Hapus Anggota di Daftar Distribusi MS Exchange di JavaKirim Dokumen Word dalam Badan Email menggunakan C#
Tambah dan Perbarui Aturan Kotak Masuk di Server MS Exchange di JavaTambah, Perbarui, dan Hapus Kontak dari Microsoft Exchange Server di C#Tambah, Perbarui, dan Hapus Kontak dari Microsoft Exchange Server di Java
Tambah dan Hapus Anggota di Daftar Distribusi MS Exchange di C#Kirim Email melalui SMTP dengan Python