Saludos gente , aquí os dejo una dll que he realizado para mandar emails desde ams , la verdad es que se puede hacer mejor y pienso añadirle mas parámetros y opciones , también creo que debería realizar alguna devolución cuando manda los correos , seguiré aprendiendo el código para poder mejorarla.
La dll permite enviar desde una cuenta gmail o hotmail .
solo dispone de una función "SendEmail" con los siguientes parámetros:
string From : string con la cuenta gmail desde donde enviamos el email.
string To : Destinatarios es un string delimitado con las cuentas que queramos enviar el correo ejemplo: "[email protected],[email protected],[email protected]"
string NameFrom : Es un nombre o referencia que aparcecera delante del remitente ejemplo: rafael <<[email protected]>>
string Pass : El password de nuestra cuenta gmail, necesitamos autentificacion para usar el servidor smtp.gmail.com
string Subject : Titulo o asunto del correo
string body : correo en si
string Attachments : string con las rutas d elos archivos a adjuntar delimitados por ',' ejemplo : " path1, path2, path3" de los archivos adjuntados.
string Host : Dos opciones de servidor de salida de correo para GMail : "smtp.gmail.com" y para Hotmail: "smtp.live.com"
Retorno :
booleano Si el correo se ha enviado correctamente nos retorna true, en caso de error false .
Source code:
Captura :

Apz incluye la dll en Autoplay/Docs :
-=-=-= Update 1.0.0.3=-=-=-
Cambios :
- Añadido posibilidad de envió desde cuentas hotmail.
- Cambio de retorno de la dll a boleano.
- Nuevo parámetro host.
-=-=-= Update 1.0.0.1=-=-=-
Cambios :
- añadido retorno de errores y algún arreglillo de script
Descarga :
La dll permite enviar desde una cuenta gmail o hotmail .
solo dispone de una función "SendEmail" con los siguientes parámetros:
string From : string con la cuenta gmail desde donde enviamos el email.
string To : Destinatarios es un string delimitado con las cuentas que queramos enviar el correo ejemplo: "[email protected],[email protected],[email protected]"
string NameFrom : Es un nombre o referencia que aparcecera delante del remitente ejemplo: rafael <<[email protected]>>
string Pass : El password de nuestra cuenta gmail, necesitamos autentificacion para usar el servidor smtp.gmail.com
string Subject : Titulo o asunto del correo
string body : correo en si
string Attachments : string con las rutas d elos archivos a adjuntar delimitados por ',' ejemplo : " path1, path2, path3" de los archivos adjuntados.
string Host : Dos opciones de servidor de salida de correo para GMail : "smtp.gmail.com" y para Hotmail: "smtp.live.com"
Retorno :
booleano Si el correo se ha enviado correctamente nos retorna true, en caso de error false .
Source code:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Net.Mail;
using System.Net.Mime;
using RGiesecke.DllExport;
namespace E_Mail
{
internal static class UnmanagedExports
{
[DllExport("SendEmail", CallingConvention = System.Runtime.InteropServices.CallingConvention.StdCall)]
static bool SendEmail(string FromGmail, string Name,string pass, string To, string subject, string message , string AttachmentsFiles, string host)
{
int port;
switch(host){
case "smtp.gmail.com":
host = "smtp.gmail.com";
port=587;
break;
case "smtp.live.com":
host = "smtp.live.com";
port=25;
break;
default :
host = "smtp.gmail.com";
port = 587;
break;
}
MailMessage mail = new MailMessage();
SmtpClient SmtpServer = new SmtpClient();
SmtpServer.Credentials = new System.Net.NetworkCredential(FromGmail, pass);
SmtpServer.Port =port;
SmtpServer.Host = host;
SmtpServer.EnableSsl = true;
mail = new MailMessage();
String[] addr =To.Split(',');
try
{
mail.From = new MailAddress(FromGmail, Name, System.Text.Encoding.UTF8);
Byte i;
for (i = 0; i < addr.Length; i++)
mail.To.Add(addr);
mail.Subject = subject;
mail.Body = message;
if (AttachmentsFiles != "")
{
String[] att = AttachmentsFiles.Split(',');
foreach (string s in att)
if (s.Trim() != "")
mail.Attachments.Add(new Attachment(s));
}
mail.DeliveryNotificationOptions = DeliveryNotificationOptions.OnFailure;
mail.ReplyTo = new MailAddress(To);
SmtpServer.Send(mail);
return true;
}
catch (Exception ex)
{
return false;
}
}
}
}
Captura :

Apz incluye la dll en Autoplay/Docs :
-=-=-= Update 1.0.0.3=-=-=-
Cambios :
- Añadido posibilidad de envió desde cuentas hotmail.
- Cambio de retorno de la dll a boleano.
- Nuevo parámetro host.
-=-=-= Update 1.0.0.1=-=-=-
Cambios :
- añadido retorno de errores y algún arreglillo de script
Descarga :