Ver Mensaje Individual
  #2 (permalink)  
Antiguo 12/02/2014, 13:06
Avatar de alan_69niupi
alan_69niupi
 
Fecha de Ingreso: junio-2011
Mensajes: 200
Antigüedad: 12 años, 11 meses
Puntos: 17
Respuesta: Error al enviar email

Para enviar correos por fuera necesitas algunas credenciales
yo tengo una archivo de configuración donde tengo mi información pero es lo mismo que necesitas
- from: [email protected]
- host: smtp.gmail.com
- password: pas
- port: 587
- credenciales: true


luego donde los necesito hago esto:


Cita:
public void EnviarCorreoElectronico(List<string> tos, string subject, string body, AlternateView av, List<Attachment> files, List<string> CCs)
{
try
{
string from = ConfigurationManager.AppSettings["from"];
int port = Convert.ToInt32(ConfigurationManager.AppSettings["port"]);
string host = ConfigurationManager.AppSettings["host"];
string password = ConfigurationManager.AppSettings["password"];
bool activarSSL = Convert.ToBoolean(ConfigurationManager.AppSettings["credencials"]);
MailMessage msg = new MailMessage();

foreach (string to in tos)
msg.To.Add(new MailAddress(to));//se grega el destinatario

msg.From = new MailAddress(from);//se agrega el remitente
//msg.From = new MailAddress(from,"alias",System.Text.Encoding.UTF8 );
msg.Subject = subject;//se agrega el asunto
msg.SubjectEncoding = System.Text.Encoding.UTF8;

if (av != null)
{
msg.AlternateViews.Add(av);//se agrega el mensaje html con imagen
msg.IsBodyHtml = true;
}
else if (body != null)
{
msg.Body = body;//se agrega el mensaje
msg.BodyEncoding = System.Text.Encoding.Unicode;
msg.IsBodyHtml = false;
}

foreach (string cc in CCs)
msg.CC.Add(new MailAddress(cc));//se agregan los destinatarios con copias
if (files != null)//en dado caso de que el usuario no adjunte un documento
{
foreach (Attachment file in files)
msg.Attachments.Add(file);//se adjutan los archivos
}
SmtpClient client = new SmtpClient();
//client.UseDefaultCredentials = false;
client.Credentials = new System.Net.NetworkCredential(from, password);
//client.Port = port;
client.Host = host;
//client.EnableSsl = activarSSL; //Esto es para que vaya a través de SSL que es obligatorio con GMail

client.Send(msg); //Envia el correo
}
catch (System.Net.Mail.SmtpException ex)
{
throw new Exception("Error al enviar el correo:\n" + ex.Message);
}
catch (Exception ex)
{
throw new Exception("Error inesperado al enviar el correo:\n" + ex.Message);
}
}

las librerías que uso son estas:

Cita:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Net.Mail;
using System.IO;
using System.Web.Configuration;
using System.Configuration;
using System.Net.Mime;
como veras es C#, solo lo tienes que pasar a VB


Saludos!!!!!