¿Estas en un proyecto con c# y necesitas enviar correos electrónicos? Hoy te explicaremos paso a paso como enviar correos con c# y Gmail conectándonos desde c# a una cuenta de correo exitente en Gmail de Google, te mostramos codigo fuente mediante un práctico ejemplo.
Muchas veces dentro de nuestros proyectos tenemos la necesidad de enviar correos.
Pero, ¿Cómo enviar correos desde una aplicación en c#?
Hace poco te mostramos como exportar la información de un datagridview a excelde manera bastante fácil.
El ejemplo de hoy lo es todavía aún más fácil!
Para hacer las cosas un poco más fácil crearemos una clase llamada EnviarEmail donde realizaremos la configuración básica.
Crearemos un objeto SmtpClient y otro MailMessage, además de variables con información de nuestro usuario, contraseña, servidor y puerto.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
|
public class EnviarEmail
{
SmtpClient cliente;
MailMessage mm;
String usuario;
String contraseña;
String servidor;
int puerto;
const String cuerpoHtml1 = «…»;
const String cuerpoHtml2 = «…»;
public EnviarEmail()
{
usuario = «tucuenta@gmail.com»;
contraseña = «password»;
servidor = «smtp.gmail.com»;
puerto = 587;
cliente = new SmtpClient();
cliente.Port = puerto;
cliente.Host = servidor;
cliente.EnableSsl = true;
cliente.Timeout = 10000;
cliente.DeliveryMethod = SmtpDeliveryMethod.Network;
cliente.UseDefaultCredentials = false;
cliente.Credentials = new System.Net.NetworkCredential(usuario, contraseña);
}
public Boolean enviarEmail(String destinatario, String asunto, String mensaje)
{
String cuerpoCompleto = «»;
cuerpoCompleto = cuerpoHtml1 + «<br/><br/><p>» + mensaje + «</p><br/><br/>» + cuerpoHtml2;
mm = new MailMessage(usuario, destinatario, asunto, cuerpoCompleto);
mm.IsBodyHtml = true;
mm.BodyEncoding = UTF8Encoding.UTF8;
mm.DeliveryNotificationOptions = DeliveryNotificationOptions.OnFailure;
cliente.Send(mm);
return true;
}
}
|
En el constructor de la clase realizamos algunas configuración básicas y necesarias para conectar a Gmail.
Asegurate de cambiar el usuario y contraseña de la cuenta a la que queremos conectar para enviar el correo.
El servidor y puerto es el indicado para realizar la conexión a Gmail.
Posteriormente mediante la función enviarEmail completamos el correo con el asunto, destinatario y mensaje.
Cabe destacar que estamos enviando un mensaje con formato HTML en codificación UTF8.
Por último enviamos el correo.
Podrás notar que el mensaje lo metemos dentro de dos variables (cuerpoHtml1 y cuerpoHtml2) que yo utilizo para incluir codigo html y darle un formato bonito al correo.
Ahora para hacer uso de esta funcionalidad simplemente en cualquier clase creamos una instancia de nuestra clase, inicializamos y accedemos a la función enviarEmail.
1
|
public static EnviarEmail enviarEmail;
|
1
2
|
// Inicializamos el objeto de envio de correos
enviarEmail = new EnviarEmail();
|
1
|
enviarEmail.enviarEmail(«destinatario», «Asunto», msj);
|
Como puedes ver la funcionalidad de enviar correos con C# y Gmail es bastante fácil de implementar.