librerias
using System.Net;
using System.Net.Mail;
using System.Net.Mime;
class clsMail
{
public static bool Enviar()
{
//Ruta de archivo adjunto (Si lo lleva)
string PathFile = @"Z:\archivo.rar";
//Creo el mensaje del mail.
System.Net.Mail.MailMessage msg = new System.Net.Mail.MailMessage();
//Agrego los destinatarios, pueden ir varios
msg.To.Add("Paraquienvaelcorreo@empresa.com.co");
//Agrego la direccion del que manda el email, puede ser falsa o verdadera, pero si es falsa puede que el servidor de correo lo detecte como spam, tambien depende de las credenciales que se ponen mas abajo
msg.From = new MailAddress("jaas.jaas@gmail.com", "Jaas", System.Text.Encoding.UTF8);
//Pongo el asunto
msg.Subject = "Asunto" ;
//El tipo de codificacion del Asunto
msg.SubjectEncoding = System.Text.Encoding.UTF8;
//Escribo el mensaje Y su codificacion
msg.Body = "Mensaje del correo";
msg.BodyEncoding = System.Text.Encoding.UTF8;
//Especifico si va ha ser interpertado con HTML
msg.IsBodyHtml = false;
//Agrego el archivo que puse en la ruta anterior "PathFile", y su tipo.
Attachment Data = new Attachment(PathFile, MediaTypeNames.Application.Zip );
//Obtengo las propiedades del archivo.
ContentDisposition disposition = Data.ContentDisposition;
disposition.CreationDate = System.IO.File.GetCreationTime(PathFile);
disposition.ModificationDate = System.IO.File.GetLastWriteTime(PathFile);
disposition.ReadDate = System.IO.File.GetLastAccessTime(PathFile);
//Agrego el archivo al mensaje
msg.Attachments.Add(Data);
//Creo un objeto de tipo cliente de correo (Por donde se enviara el correo)
SmtpClient client = new SmtpClient();
//Si no voy a usar credenciales pongo false, Pero la mayoria de servidores exigen las credenciales para evitar el spam
//client.UseDefaultCredentials = false;
//Como voy a utilizar credenciales las pongo
client.Credentials = new System.Net.NetworkCredential("jaas.jaas@gmail.com", "Password");
//Si fuera gmail seria 587 el puerto, si es un servidor outlook casi siempre el puerto 25, yo utilizo un servidor propio de correo
//client.Port = 587;
client.Port = 25;
//identifico el cliente que voy a utilizar
client.Host = "Miservidor.com.co";
//Si fuera a utilizar gmail esto deberia ir en true, esto es un certificado de seguridad
//client.EnableSsl = true;
client.EnableSsl = false;
try
{
//Envio el mensaje
client.Send(msg);
return true;
}
catch (System.Net.Mail.SmtpException ex)
{
return false;
}
}
}