IMAP, POP3 və SMTP üçün Açıq Mənbəli .NET Kitabxanası
Əlavələrlə Mesaj Yaratmaq, PGP/MIME ilə Mesajları Şifrələmək/Deşifrə etmək üçün Pulsuz C# .NET Kitabxanası.
MailKit IMAP, POP3 və SMTP üçün Açıq Mənbəli .NET kitabxanasıdır. Bu, MimeKit üzərində qurulmuş çarpaz platformalı poçt müştəri kitabxanasıdır. Layihənin məqsədi möhkəm, tam xüsusiyyətli və RFC uyğun SMTP, POP3 və IMAP müştəri tətbiqlərini təmin etməkdir.
API SASL Authentication, proxy dəstəyi, SMTP müştəri, POP3 müştəri, IMAP4 müştəri, müştəri tərəfində çeşidləmə və mesajların ötürülməsi ilə bağlı bir neçə vacib funksiyanı dəstəkləyir.
MailKit ilə işə başlamaq
MailKit-i quraşdırmağın ən asan yolu NuGet vasitəsilədir. Onu Visual Studio-nun Paket Meneceri Konsolundan istifadə etmək üçün aşağıdakı əmri daxil edin.
Mailkit-i NuGet vasitəsilə quraşdırın
Install-Package MailKit
Mailkit-i GitHub vasitəsilə quraşdırın
git clone --recursive https://github.com/jstedfast/MailKit.git
.NET vasitəsilə Yeni Mesajlar yaradın
Open Source API MailKit kitabxanası proqram tərtibatçılarına bir neçə sadə əmrlə MIME mesajları yaratmağa imkan verir. TextPart mətn media növü olan yarpaq qovşağı MIME hissəsidir. TextPart konstruktorunun ilk arqumenti media-alt tipini müəyyən edir, bu halda düzdür. Yəqin ki, tanış olduğunuz başqa bir media alt növü HTML alt növüdür. MIME hissəsinin hər iki sətir məzmununu əldə etməyin və təyin etməyin ən asan yolu Mətn xassəsidir.
Open Source API MailKit kitabxanası proqram tərtibatçılarına bir neçə sadə əmrlə MIME mesajları yaratmağa imkan verir. TextPart mətn media tipli yarpaqlı MIME hissəsidir. TextPart konstruktorunun ilk arqumenti media-alt tipini müəyyən edir, bu halda düzdür. Yəqin ki, tanış olduğunuz başqa bir media alt növü HTML alt növüdür. MIME hissəsinin sətir məzmununu əldə etməyin və təyin etməyin ən asan yolu Mətn xassəsidir.
C# istifadə edərək pulsuz mesaj yaradın və göndərin
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 istifadə edərək, Əlavələrlə Mesaj Yaradın
MailKit API .NET proqramları daxilində əlavələrlə mesaj yaratmaq üçün funksiyalar təqdim edir. Qoşmalar hər hansı digər MimePart kimidir; əsas fərq ondadır ki, onlarda inline əvəzinə əlavənin dəyərini saxlayan məzmun-dispozisiya başlığı var və ya heç Content-Disposition başlığı yoxdur. Mesajın həm mətn/HTML, həm də mətn/düz versiyasını göndərmək üçün siz hər bir hissə üçün TextPart yaratmalı və sonra onları çoxhissəli/alternativə əlavə etməlisiniz.
C# vasitəsilə əlavələrlə mesaj yaradın
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 ilə mesajları şifrələyin/şifrini açın
MailKit kitabxanası .NET proqramları daxilində PGP/MIME ilə e-poçt mesajlarını şifrələmək üçün funksiyalar təqdim edir. PGP/MIME şifrələnmiş məlumatları əhatə etmək üçün çoxhissəli/şifrələnmiş mime tipli MIME hissəsindən istifadə edir. Əgər mesajı şifrələmək istəyirsinizsə, hər bir alıcı üçün MailboxAddress əvəzinə SecureMailboxAddress istifadə etmək həmişə daha yaxşı yanaşmadır ki, bu da istifadəçilərə hər bir alıcının PGP açarının unikal barmaq izini təyin etməyə imkan verəcək.
C# vasitəsilə PGP/MIME ilə Mesajların Şifrələnməsi
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 şifrəsinin açılması
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;
}
}