1. Ürün:% s
  2.   E-posta
  3.   .NET
  4.   MailKit
 
  

IMAP, POP3 ve SMTP için Açık Kaynak .NET Kitaplığı

Eklerle İleti Oluşturmak için Ücretsiz C# .NET Kitaplığı, Mesajları PGP/MIME ile Şifreleyin/Şifresini Çözün. 

MailKit, IMAP, POP3 ve SMTP için bir Açık Kaynak .NET kitaplığıdır. MimeKit'in üzerine inşa edilmiş bir çapraz platform posta istemci kitaplığıdır. Proje, sağlam, tam özellikli ve RFC uyumlu bir SMTP, POP3 ve IMAP istemci uygulamaları sağlamayı amaçlamaktadır.

API, SASL Kimlik Doğrulaması, proxy desteği, SMTP istemcisi, POP3 istemcisi, IMAP4 istemcisi, istemci tarafı sıralama ve ileti dizileri ile ilgili birkaç önemli özelliği destekler.

Previous Next

MailKit'e Başlarken

MailKit'i kurmanın en kolay yolu NuGet'tir. Visual Studio'nun Paket Yöneticisi Konsolundan kullanmak için lütfen aşağıdaki komutu girin.

Mailkit'i NuGet aracılığıyla kurun

Install-Package MailKit  

Mailkit'i GitHub aracılığıyla yükleyin 

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

.NET ile Yeni Mesajlar Oluşturun

Açık Kaynak API MailKit kitaplığı, yazılım geliştiricilerin birkaç basit komutla MIME mesajları oluşturmasını sağlar. TextPart, metin medya türüne sahip bir yaprak düğümlü MIME parçasıdır. TextPart yapıcısının ilk argümanı medya alt türünü belirtir, bu durumda düz. Muhtemelen aşina olduğunuz başka bir medya alt türü, HTML alt türüdür. MIME bölümünün dize içeriğini almanın ve ayarlamanın en kolay yolu Text özelliğidir.

Açık Kaynak API MailKit kitaplığı, yazılım geliştiricilerin birkaç basit komutla MIME mesajları oluşturmasını sağlar. Bir TextPart, metin medya türüne sahip bir yaprak düğümlü MIME parçasıdır. TextPart yapıcısının ilk argümanı medya alt türünü belirtir, bu durumda düz. Muhtemelen aşina olduğunuz başka bir medya alt türü, HTML alt türüdür. MIME bölümünün dize içeriğini hem almanın hem de ayarlamanın en kolay yolu Text özelliğidir.

C# ile Ücretsiz Mesaj Oluşturun ve Gönderin

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

.NET API kullanarak Ekli Mesaj Oluşturma

MailKit API, .NET uygulamaları içinde ekleri olan bir mesaj oluşturmak için özellikler sağlar. Ekler tıpkı diğer MimePart'lar gibidir; temel fark, bunların satır içi yerine ekin değerini tutan bir içerik düzeni üstbilgisi içermeleri veya hiç Content-Disposition üstbilgisi içermemeleridir. Mesajın hem metin/HTML hem de metin/düz sürümünü göndermek için, her bölüm için bir MetinPart oluşturmanız ve ardından bunları çok parçalı/alternatife eklemeniz gerekir.

C# ile Ekli Mesaj Oluşturma


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;
 

PGP/MIME ile Mesajları Şifrele/Şifresini Çöz

MailKit kitaplığı, .NET uygulamaları içinde e-posta mesajlarını PGP/MIME ile şifrelemek için özellikler sağlar. PGP/MIME, şifrelenmiş verileri kapsüllemek için çok parçalı/şifreli mime tipine sahip bir MIME bölümü kullanır. Bir mesajı şifrelemek istiyorsanız, her alıcı için bir MailboxAddress yerine SecureMailboxAddress kullanmak her zaman daha iyi bir yaklaşımdır; bu, kullanıcıların her alıcının PGP anahtarının benzersiz parmak izini belirlemesine olanak tanır.

Mesajları C# ile PGP/MIME ile Şifreleme


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

PGP/MIME Mesajlarının Şifresini Çözme


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;
  }
}
 Türkçe