Clase en C# para validar y enviar correos electrónicos con copia y archivo adjunto
Esta clase tiene un métodos para:
– Validar si un mail está correctamente escrito
– Configurar la cuenta de correo saliente
– Enviar correos con copia y archivo adjunto
Recomiendo sobrecarguen el método de EnviarMail a todas las variables posibles de parámetros.
using System; using System.Collections.Generic; using System.Text; //necesarios para los métodos using System.Net; using System.Net.Mail; using System.Text.RegularExpressions;
class emails
{
MailMessage message;
SmtpClient clienteSmtp;
Attachment at;
int puerto;
string user, password;
public bool validarEmail(string email)
{
string expresion = "\\w+([-+.']\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*";
if (Regex.IsMatch(email, expresion))
{
if (Regex.Replace(email, expresion, String.Empty).Length == 0)
{ return true; }
else
{ return false; }
}
else
{ return false; }
}
public void ConfigurarMail(string from, string usuario, string contraseña, int puerto_salida, string smtp)
{
message = new MailMessage();
message.From = new MailAddress(from);
clienteSmtp = new SmtpClient(smtp);
user = usuario;
password = contraseña;
clienteSmtp.Port = puerto_salida;
}
public bool EnviarMail(string to, string cc, string asunto, string mensaje, string ruta_archivo_adjunto)
{
try
{
at = new Attachment(ruta_archivo_adjunto);
message.Attachments.Add(at);
message.To.Add(to);
message.CC.Add(cc);
message.Subject = asunto;
message.IsBodyHtml = true; //el texto del mensaje lo pueden poner en HTML y darle formato
message.Body = mensaje;
//Establesco que usare seguridad (ssl = Secure Sockets Layer)
clienteSmtp.EnableSsl = true;
clienteSmtp.UseDefaultCredentials = false;
clienteSmtp.Credentials = new NetworkCredential(user, password);
clienteSmtp.Send(message);
return true;
}
catch
{
try
{
//Establesco que no usare seguridad ssl (por si no pudo enviarlo con ssl habilitado)
clienteSmtp.EnableSsl = false;
clienteSmtp.Send(message);
return true;
}
catch
{
return false;
}
}
}
}



no entiendo bien el codigo haslo paso a paso para ver mejor su funcionamiento
pero que asno, no entendes un codigo tan simple?? la gente como tu denigra nuestra profesion…
Si pregunta es por algo IMBÉCIL!!!
La gente como tu denigra la profesión, porque al tratar a los demás de idiota no dejas que pregunten con confianza y aprendan bien.
Y vos te pensas que por escribir esto sos muy inteligente, si te pregunta es porque no entendio o vos sos idiota
dsa
ddddddd
ssss
Excelente aporte, lo probaré.