Es posible enviar un correo electrónico mediante C#, mediante las clases System.Net, System.Net.Mail y System.Net.Mime
En el siguiente ejemplo se muestra un formulario que envia un simple correo electrónico a través del Servidor SMTP de GMAIL y se le adjunta una imagen ".jpg"
En el siguiente ejemplo se muestra un formulario que envia un simple correo electrónico a través del Servidor SMTP de GMAIL y se le adjunta una imagen ".jpg"
Clases que se deben de declarar:
using System.Net;
using System.Net.Mail;
using System.Net.Mime;
using System.Net.Mail;
using System.Net.Mime;
//Se crea un Objeto llamado "msg" de la
clase
"MailMessage"
System.Net.Mail.MailMessage msg = new
System.Net.Mail.MailMessage();
//Se establece el destinatario
msg.To.Add("adrianmevi@hotmail.com");
/*Se establece el remitente, asi como el nombre que aparecerá en la
bandeja de entrada, así como el formato de codificación
*/
msg.From = new MailAddress("adrianmevi@gmail.com",
"Soy adry", System.Text.Encoding.UTF8);
//Se establece el asunto del mail
msg.Subject = "Prueba de envío de correo desde Cuenta Gmail en c# by
adryan";
//Formato de codificación del Asunto
msg.SubjectEncoding =
System.Text.Encoding.UTF8;
//Se establece el cuerpo del mail
msg.Body
= "Si veo este correo en una cuenta mía esque si se pudo jjejejejej !!!! by
adryan";
//Se establece la
codificación del Cuerpo
msg.BodyEncoding =
System.Text.Encoding.Unicode;
//Se indica si al cuerpo del mail, se interpretara como código
HTMl
msg.IsBodyHtml =
false;
//Se establece la cadena de texto con la ubicación del archivo a
adjuntar
string
file =
"d:/foto.jpg";
//Se adjunta el archivo
Attachment data = new Attachment(file, MediaTypeNames.Application.Octet);
ContentDisposition disposition = data.ContentDisposition;
disposition.CreationDate = System.IO.File.GetCreationTime(file);
disposition.ModificationDate = System.IO.File.GetLastWriteTime(file);
disposition.ReadDate = System.IO.File.GetLastAccessTime(file);
msg.Attachments.Add(data);
//Se prepara el envio del mail creando un objeto de tipo
SmtpClient
SmtpClient client = new
SmtpClient();
//Se establecen las credenciales para enviar el mail, muy importante
autentificarse con la cuenta de correo y la contraseña
client.Credentials = new System.Net.NetworkCredential("adrianmevi@gmail.com",
"*************");
//Se establece el puerto de envio
client.Port =
587;
//Se establece el servidor SMTP, en este caso GMAIL
client.Host =
"smtp.gmail.com";
//Seguridad SSL si o
no
client.EnableSsl = true;
//Se envia el Mail controlando la
ecepción
try
{
client.Send(msg);
}
catch
(System.Net.Mail.SmtpException
ex)
{
MessageBox.Show(ex.Message);
}
Este código puede ir en el evento clic de un botón, en el evento load de un form o en donde se requiera colocarlo.
Como se menciono antes, es necesario contar con las clases indicadas, así como el archivo a adjuntar. Acerca de las credenciales, es importante tener una cuenta de correo electrónico en el cual podamos utilizar su servidor SMTP. GMAIL lo permite, pero parece ser que Hotmail no. Habría que probar con algún otro servidor de correo, como sería nuestro proveedor de internet, el del trabajo, etc.
No hay comentarios:
Publicar un comentario