1. Produk
  2.   Surel
  3.   .NET
  4.   MailKit
 
  

Pustaka .NET Sumber Terbuka untuk IMAP, POP3 & SMTP

Perpustakaan C# .NET Gratis untuk Membuat Pesan dengan Lampiran, Enkripsi/Dekripsi Pesan dengan PGP/MIME. 

MailKit adalah pustaka .NET Sumber Terbuka untuk IMAP, POP3, dan SMTP. Ini adalah pustaka klien email lintas platform yang dibangun di atas MimeKit. Proyek ini bertujuan untuk menyediakan implementasi klien SMTP, POP3, dan IMAP yang tangguh, berfitur lengkap, dan sesuai dengan RFC.

API mendukung beberapa fitur penting yang terkait dengan Otentikasi SASL, dukungan proxy, klien SMTP, klien POP3, klien IMAP4, penyortiran sisi klien, dan pengurutan pesan.

Previous Next

Memulai dengan MailKit

Cara termudah untuk menginstal MailKit adalah melalui NuGet. Untuk menggunakannya dari Package Manager Console Visual Studio, silakan masukkan perintah berikut.

instal Mailkit melalui NuGet

Install-Package MailKit  

Instal Mailkit melalui GitHub 

git clone --recursive https://github.com/jstedfast/MailKit.git 

Buat Pesan Baru melalui .NET

Pustaka Open Source API MailKit memungkinkan pengembang perangkat lunak membuat pesan MIME dengan beberapa perintah sederhana. TextPart adalah bagian MIME simpul daun dengan tipe media teks. Argumen pertama ke konstruktor TextPart menentukan subtipe media, dalam hal ini, polos. Subtipe media lain yang mungkin Anda kenal adalah subtipe HTML. Cara termudah untuk mendapatkan dan mengatur kedua konten string dari bagian MIME adalah properti Text.

Pustaka Open Source API MailKit memungkinkan pengembang perangkat lunak membuat pesan MIME dengan beberapa perintah sederhana. TextPart adalah bagian MIME simpul daun dengan tipe media teks. Argumen pertama untuk konstruktor TextPart menentukan subtipe media, dalam hal ini, polos. Subtipe media lain yang mungkin Anda kenal adalah subtipe HTML. Cara termudah untuk mendapatkan dan mengatur konten string dari bagian MIME adalah properti Text.

Hasilkan dan Kirim Pesan Gratis menggunakan C#

var message = new MimeMessage();
message.From.Add(new MailboxAddress("fred", "This email address is being protected from spam-bots. You need JavaScript enabled to view it."));
message.To.Add(new MailboxAddress("frans", "This email address is being protected from spam-bots. You need JavaScript enabled to view it."));
message.Subject = "FileFormat ";
message.Body = new TextPart("plain")
{
  Text = "File Format Developer Guide"
};
using (var client = new SmtpClient())
{
  // For demo-purposes,
  client.ServerCertificateValidationCallback = (s, c, h, e) => true;
  client.Connect("smtp.test.com", 587, false);
  // Note: only needed if the SMTP server requires authentication
  client.Authenticate("frans", "password");
  client.Send(message);
  client.Disconnect(true);
}                  

Hasilkan Pesan dengan Lampiran menggunakan .NET API

MailKit API menyediakan fitur untuk menghasilkan pesan dengan lampiran di dalam aplikasi .NET. Lampiran sama seperti MimePart lainnya; perbedaan utama adalah bahwa mereka berisi header disposisi konten yang memegang nilai lampiran alih-alih sebaris atau tidak ada header Disposisi Konten sama sekali. Untuk mengirimkan teks/HTML dan versi teks/polos dari pesan, Anda perlu membuat TextPart untuk setiap bagian dan kemudian menambahkannya ke multipart/alternatif.

Buat Pesan dengan Lampiran melalui C#


var message = new MimeMessage ();
message.From.Add (new MailboxAddress ("Joey", "joey@friends.com"));
message.To.Add (new MailboxAddress ("Alice", "alice@wonderland.com"));
message.Subject = "How you doin?";
// create our message text, just like before (except don't set it as the message.Body)
var body = new TextPart ("plain") {
  Text = @"Hey Alice,
What are you up to this weekend? Monica is throwing one of her parties on
Saturday and I was hoping you could make it.
Will you be my +1?
-- Joey
"
};
// create an image attachment for the file located at path
var attachment = new MimePart ("image", "gif") {
  Content = new MimeContent (File.OpenRead (path), ContentEncoding.Default),
  ContentDisposition = new ContentDisposition (ContentDisposition.Attachment),
  ContentTransferEncoding = ContentEncoding.Base64,
  FileName = Path.GetFileName (path)
};
// now create the multipart/mixed container to hold the message text and the
// image attachment
var multipart = new Multipart ("mixed");
multipart.Add (body);
multipart.Add (attachment);
// now set the multipart/mixed as the message body
message.Body = multipart;
 

Enkripsi/Dekripsi Pesan dengan PGP/MIME

Pustaka MailKit menyediakan fitur untuk mengenkripsi pesan email dengan PGP/MIME di dalam aplikasi .NET. PGP/MIME menggunakan bagian MIME dengan tipe mime multi-bagian/terenkripsi untuk merangkum data terenkripsi. Jika Anda ingin mengenkripsi pesan, selalu merupakan pendekatan yang lebih baik untuk menggunakan SecureMailboxAddress daripada MailboxAddress untuk setiap penerima, yang akan memungkinkan pengguna untuk menentukan sidik jari unik dari setiap kunci PGP penerima.

Mengenkripsi Pesan dengan PGP/MIME melalui C#


public void Encrypt (MimeMessage message)
{
  // encrypt our message body using our custom GnuPG cryptography context
  using (var ctx = new MyGnuPGContext ()) {
    // Note: this assumes that each of the recipients has a PGP key associated
    // with their email address in the user's public keyring.
    // 
    // If this is not the case, you can use SecureMailboxAddresses instead of
    // normal MailboxAddresses which would allow you to specify the fingerprint
    // of their PGP keys. You could also choose to use one of the Encrypt()
    // overloads that take a list of PgpPublicKeys.
    message.Body = MultipartEncrypted.Encrypt (ctx, message.To.Mailboxes, message.Body);
  }
}

Mendekripsi Pesan PGP/MIME


public MimeEntity Decrypt (MimeMessage message)
{
  if (message.Body is MultipartEncrypted) {
    // the top-level MIME part of the message is encrypted using PGP/MIME
    var encrypted = (MultipartEncrypted) entity;
    return encrypted.Decrypt ();
  } else {
    // the top-level MIME part is not encrypted
    return message.Body;
  }
}
 Indonesia