Es una biblioteca de .NET diseñada para facilitar el envío de correos electrónicos con una amplia gama de funcionalidades de configuración y manejo de errores. A continuación, se detalla cómo utilizar esta biblioteca en tu proyecto.
La biblioteca Adfines.Net.Zumbi
proporciona una clase principal Mail
que simplifica el proceso de envío de correos electrónicos. Esta clase
maneja la configuración del cliente SMTP, permite enviar correos electrónicos
con archivos adjuntos y realiza un seguimiento de los errores que puedan
ocurrir durante el envío.
Para utilizar la clase Mail
, debes crear una instancia de la misma
proporcionando los parámetros necesarios en el constructor. Aquí se muestra un
ejemplo de cómo instanciar la clase:
var mailClient = new Adfines.Net.Zumbi.Mail(
url: "smtp.example.com",
port: 587,
email: "your-email@example.com",
password: "your-password",
ssl: true,
html: true,
log: true,
dateTimeTitle: true
);
Parámetros del Constructor:
Para enviar un correo electrónico
individualmente, utiliza el método SendMail
de la siguiente manera:
mailClient.SendMail(
mask: "Sender Name",
mailTo: new List<string> { "recipient@example.com" },
mailCo: new List<string> { "bcc-recipient@example.com" },
title: "Subject",
body: "Email body",
attachment: new List<string> { "path/to/attachment.txt" },
uuid: "unique-id"
);
Parámetros del Método:
mask
: Nombre del remitente.mailTo
: Lista de direcciones de correo
electrónico de los destinatarios.mailCo
: Lista de direcciones de correo
electrónico para copia oculta.title
: Título del correo electrónico.body
: Cuerpo del correo electrónico.attachment
: Lista de rutas de archivos adjuntos.uuid
: Identificador único para el correo
electrónico.El método SendMail
también puede ser utilizado para enviar
correos electrónicos en paralelo con tres enfoques diferentes:
Envía los correos electrónicos uno por uno:
mailClient.SendMail(mails, parallel: 1);
Envía todos los correos electrónicos en paralelo:
mailClient.SendMail(mails, parallel: 0);
Envía los correos electrónicos en grupos de tamaño especificado:
mailClient.SendMail(mails, parallel: 2); // Enviar de dos en dos
parallel
:1
: Envío secuencial, uno por uno.0
: Envío paralelo de todos los correos
a la vez.> 1
: Envío paralelo en grupos de tamaño
especificado.Para acceder o limpiar el log de
errores, puedes usar la propiedad Errors
de la clase Mail
. La propiedad Errors
es una lista que contiene todos los
errores registrados durante el envío de correos electrónicos.
var errorList = mailClient.Errors;
mailClient.Errors.Clear();
using System.Collections.Generic;
using Adfines.Net.Zumbi;
var mailClient = new Mail(
url: "smtp.example.com",
port: 587,
email: "your-email@example.com",
password: "your-password",
ssl: true,
html: true,
log: true,
dateTimeTitle: true
);
var mails = new List<Mails>
{
new Mails
{
Mask = "Sender Name",
MailTo = new List<string> { "recipient1@example.com" },
MailCo = new List<string> { "bcc-recipient1@example.com" },
Title = "Subject 1",
Body = "Email body 1",
Attachment = new List<string> { "path/to/attachment1.txt" },
Uuid = "unique-id-1"
},
// Añadir más correos si es necesario
};
mailClient.SendMail(mails, parallel: 2);