Βιβλιοθήκη δημιουργίας και ανάλυσης ανοιχτού κώδικα .NET MIME
Βιβλιοθήκη δημιουργίας και ανάλυσης .NET MIME για κρυπτογράφηση, αποκρυπτογράφηση και υπογραφή μηνυμάτων, καθώς και για επαλήθευση ψηφιακών υπογραφών με χρήση προτύπων S/MIME ή OpenPGP.
Το MimeKit είναι μια βιβλιοθήκη ανοιχτού κώδικα C# .NET που επιτρέπει στους προγραμματιστές λογισμικού να δημιουργούν και να αναλύουν μηνύματα ηλεκτρονικού ταχυδρομείου χρησιμοποιώντας την επέκταση αλληλογραφίας πολλαπλών χρήσεων Διαδικτύου (MIME). Ο κύριος λόγος πίσω από την ανάπτυξη του έργου ήταν ότι θεωρήθηκε ότι η πλειοψηφία του λογισμικού πελάτη ηλεκτρονικού ταχυδρομείου (και διακομιστή) είχε λιγότερο από ικανοποιητικές υλοποιήσεις MIME. Τις περισσότερες φορές αυτά τα προγράμματα-πελάτες ηλεκτρονικού ταχυδρομείου προσπαθούσαν εσφαλμένα να αναλύσουν ένα μήνυμα MIME και έτσι δεν θα μπορέσουν να λάβουν τα πλήρη οφέλη του MIME.
Ο κύριος στόχος του έργου MimeKit είναι να αντιμετωπίσει όλα αυτά τα ζητήματα όσο το δυνατόν πιο στενά και ταυτόχρονα να παρέχει στους προγραμματιστές υπολογιστών ένα εξαιρετικά εύκολο στη χρήση API υψηλού επιπέδου. Το υπέροχο με τη βιβλιοθήκη είναι ότι είναι πολύ πιο γρήγορη με όλες τις διαθέσιμες λύσεις. Ακόμη και ορισμένοι εμπορικοί αναλυτές MIME δεν είναι καν κοντά στο να ταιριάζουν με την απόδοση του MimeKit.
Ξεκινώντας με το MimeKit
Ο ευκολότερος τρόπος εγκατάστασης του MimeKit είναι μέσω του NuGet. Στην Κονσόλα Package Manager του Visual Studio, πληκτρολογήστε την ακόλουθη εντολή
Μπορείτε να το εγκαταστήσετε χρησιμοποιώντας pip.
εγκατάσταση μέσω NuGet
Install-Package MimeKit
Εγκατάσταση μέσω GitHub
git clone --recursive https://github.com/jstedfast/MailKit.git
.NET API για τη δημιουργία νέων μηνυμάτων
Η βιβλιοθήκη Open Source API MailKit επιτρέπει στους προγραμματιστές λογισμικού να δημιουργούν μηνύματα MIME με λίγες απλές εντολές. Ένα TextPart είναι ένα τμήμα MIME κόμβου φύλλου με τύπο μέσου κειμένου. Το πρώτο όρισμα στον κατασκευαστή TextPart καθορίζει τον υποτύπο του μέσου, σε αυτήν την περίπτωση, απλό. Ένας άλλος υποτύπος πολυμέσων που πιθανώς γνωρίζετε είναι ο υποτύπος HTML. Ο ευκολότερος τρόπος για να λάβετε και να ορίσετε το περιεχόμενο συμβολοσειράς του τμήματος MIME είναι η ιδιότητα Κείμενο.
API ανοιχτού κώδικα για τη δημιουργία μηνύματος - 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"
};
Δημιουργήστε μήνυμα με συνημμένα χρησιμοποιώντας .NET API
Το MailKit API παρέχει δυνατότητες για τη δημιουργία μηνύματος με συνημμένα μέσα σε εφαρμογές .NET. Τα συνημμένα είναι ακριβώς όπως κάθε άλλο MimePart, η κύρια διαφορά είναι ότι περιέχουν μια κεφαλίδα διάθεσης περιεχομένου που διατηρεί την τιμή του συνημμένου αντί για ενσωματωμένη ή καθόλου κεφαλίδα Content-Disposition. Για να στείλετε ένα κείμενο/HTML και μια έκδοση κειμένου/απλής έκδοσης του μηνύματος, πρέπει να δημιουργήσετε ένα TextPart για κάθε τμήμα και στη συνέχεια να το προσθέσετε σε ένα πολυμερές/εναλλακτικό.
Δημιουργήστε δωρεάν συνημμένα email χρησιμοποιώντας 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";
var path = "image.png";
var body = message.Body = new TextPart("plain")
{
Text = "File Format Developer Guide"
};
// 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 = System.IO.Path.GetFileName(path)
};
// now create the multipart/mixed container to hold the message text and the
// image attachment
var multipart = new Multipart("mixed")
{
body,
attachment
};
// now set the multipart/mixed as the message body
message.Body = multipart;
Κρυπτογράφηση ή αποκρυπτογράφηση μηνυμάτων με S/MIME
Το Open Source MailKit API παρέχει δυνατότητες για κρυπτογράφηση μηνυμάτων χρησιμοποιώντας το πλαίσιο κρυπτογράφησης S/MIME. Το S/MIME χρησιμοποιεί ένα τμήμα MIME εφαρμογής/pkcs7-mime για να ενσωματώσει κρυπτογραφημένο περιεχόμενο. Δημιουργήστε το σώμα του μηνύματος με το κείμενο του μηνύματος και ορισμένα συνημμένα εικόνας. Μετά από αυτό, μπορείτε να κρυπτογραφήσετε το σώμα του μηνύματος χρησιμοποιώντας το προσαρμοσμένο περιβάλλον κρυπτογράφησης S/MIME.