Biblioteca de análisis y creación de .NET MIME de código abierto
Biblioteca de análisis y creación de .NET MIME para el cifrado, descifrado y firma de mensajes, así como para la verificación de firmas digitales mediante los estándares S/MIME u OpenPGP.
MimeKit es una biblioteca C# .NET de código abierto que permite a los desarrolladores de software crear y analizar mensajes de correo electrónico mediante la extensión multipropósito de correo de Internet (MIME). La razón principal detrás del desarrollo del proyecto fue que se consideró que la mayoría del software de cliente (y servidor) de correo electrónico tenía implementaciones MIME menos que satisfactorias. La mayoría de las veces, estos clientes de correo electrónico intentarán analizar incorrectamente un mensaje MIME y, por lo tanto, no podrán obtener todos los beneficios que MIME.
El objetivo principal del proyecto MimeKit es abordar todos estos problemas lo más cerca posible y, al mismo tiempo, proporcionar a los programadores de computadoras una API de alto nivel tremendamente fácil de usar. Lo mejor de la biblioteca es que es mucho más rápida con todas las soluciones disponibles. Incluso algunos analizadores MIME comerciales ni siquiera se acercan al rendimiento de MimeKit.
Primeros pasos con MimeKit
La forma más fácil de instalar MimeKit es a través de NuGet. En la consola del administrador de paquetes de Visual Studio, ingrese el siguiente comando
Puedes instalarlo usando pip.
instalar a través de NuGet
Install-Package MimeKit
Instalar a través de GitHub
git clone --recursive https://github.com/jstedfast/MailKit.git
.NET API para crear nuevos mensajes
La biblioteca MailKit de API de código abierto permite a los desarrolladores de software crear mensajes MIME con unos pocos comandos simples. Un TextPart es una parte MIME de nodo hoja con un tipo de medio de texto. El primer argumento del constructor TextPart especifica el subtipo de medios, en este caso, sin formato. Otro subtipo de medios con el que probablemente esté familiarizado es el subtipo HTML. La forma más sencilla de obtener y establecer el contenido de la cadena de la parte MIME es la propiedad Text.
API de código abierto para crear mensajes - 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"
};
Generar mensaje con archivos adjuntos utilizando la API de .NET
MailKit API proporciona funciones para generar un mensaje con archivos adjuntos dentro de las aplicaciones .NET. Los archivos adjuntos son como cualquier otro MimePart, la principal diferencia es que contienen un encabezado de disposición de contenido que contiene el valor del archivo adjunto en lugar de encabezado en línea o ningún encabezado de disposición de contenido. Para enviar tanto una versión de texto/HTML como de texto/sin formato del mensaje, debe crear un TextPart para cada parte y luego agregarlos a una alternativa/varias partes.
Genere archivos adjuntos de correo electrónico gratis usando 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;
Cifrar o descifrar mensajes con S/MIME
La API MailKit de código abierto proporciona funciones para cifrar mensajes mediante el contexto de criptografía S/MIME. S/MIME utiliza una parte MIME application/pkcs7-mime para encapsular contenido cifrado. Cree el cuerpo del mensaje con el texto del mensaje y algunas imágenes adjuntas. Después de eso, puede cifrar el cuerpo del mensaje utilizando el contexto de criptografía S/MIME personalizado.