Atvirojo kodo .NET biblioteka skirta IMAP, POP3 ir SMTP
Nemokama C# .NET biblioteka, skirta generuoti pranešimus su priedais, šifruoti / iššifruoti pranešimus naudojant PGP / MIME.
MailKit yra atvirojo kodo .NET biblioteka, skirta IMAP, POP3 ir SMTP. Tai kelių platformų pašto kliento biblioteka, sukurta ant MimeKit. Projektu siekiama pateikti patikimą, visapusišką ir su RFC suderinamą SMTP, POP3 ir IMAP klientų diegimą.
API palaiko keletą svarbių funkcijų, susijusių su SASL autentifikavimu, tarpinio serverio palaikymu, SMTP klientu, POP3 klientu, IMAP4 klientu, kliento pusės rūšiavimu ir pranešimų siuntimu.
Darbo su MailKit pradžia
Lengviausias būdas įdiegti „MailKit“ yra „NuGet“. Norėdami jį naudoti iš „Visual Studio“ paketų tvarkyklės konsolės, įveskite šią komandą.
įdiekite „Mailkit“ per „NuGet“.
Install-Package MailKit
Įdiekite „Mailkit“ per „GitHub“.
git clone --recursive https://github.com/jstedfast/MailKit.git
Kurkite naujus pranešimus naudodami .NET
Atvirojo kodo API MailKit biblioteka leidžia programinės įrangos kūrėjams kurti MIME pranešimus naudojant kelias paprastas komandas. Teksto dalis yra lapo mazgo MIME dalis su teksto laikmenos tipu. Pirmasis „TextPart“ konstruktoriaus argumentas nurodo medijos potipį, šiuo atveju paprastą. Kitas medijos potipis, kurį tikriausiai žinote, yra HTML potipis. Lengviausias būdas gauti ir nustatyti MIME dalies eilutės turinį yra ypatybė Text.
Atvirojo kodo API MailKit biblioteka leidžia programinės įrangos kūrėjams kurti MIME pranešimus naudojant kelias paprastas komandas. Teksto dalis yra lapo mazgo MIME dalis, turinti teksto laikmenos tipą. Pirmasis „TextPart“ konstruktoriaus argumentas nurodo medijos potipį, šiuo atveju paprastą. Kitas medijos potipis, kurį tikriausiai žinote, yra HTML potipis. Lengviausias būdas gauti ir nustatyti MIME dalies eilutės turinį yra ypatybė Text.
Nemokamai generuokite ir siųskite pranešimą naudodami 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);
}
Generuokite pranešimą su priedais naudodami .NET API
MailKit API teikia funkcijas, skirtas generuoti pranešimą su priedais .NET programose. Priedai yra kaip ir bet kuri kita MimePart; pagrindinis skirtumas yra tas, kad juose yra turinio išdėstymo antraštės, turinčios priedo vertę, o ne eilutę arba iš viso nėra turinio išdėstymo antraštės. Norėdami išsiųsti tekstinį / HTML ir tekstinį / paprastą pranešimo variantą, kiekvienai daliai turite sukurti teksto dalį ir pridėti jas prie kelių dalių / alternatyvos.
Sukurkite pranešimą su priedais naudodami 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;
Šifruoti / iššifruoti pranešimus naudojant PGP / MIME
„MailKit“ bibliotekoje yra funkcijos, skirtos el. pašto žinutėms šifruoti naudojant PGP/MIME .NET programose. PGP/MIME naudoja MIME dalį su kelių dalių/šifruotu MIME tipu, kad gautų užšifruotus duomenis. Jei norite užšifruoti pranešimą, visada geriau naudoti SecureMailboxAddress, o ne MailboxAddress kiekvienam gavėjui, kuris leis vartotojams nurodyti unikalų kiekvieno gavėjo PGP rakto piršto atspaudą.
Pranešimų šifravimas naudojant PGP/MIME naudojant 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);
}
}
PGP/MIME pranešimų iššifravimas
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;
}
}