Principales respuestas
enviar un mail

Pregunta
-
saludos
tengo la siguiente clase para enviar mails
using System; using System.Collections.Generic; using System.ComponentModel; using System.Text; using System.Net; using System.Net.Mail; //Mime is Not necerrary if you dont change the msgview and //if you dont add custom/extra headers namespace EWarehouseWs { public class SendMail { public static bool MailSent { get ; private set ; } public MailAddress Sender { get ; set ; } public string PassWordSender { get ; set ; } public List<MailAddress> To { get ; set ; } private MailMessage _mailMessage; public string Mensage { get ; set ; } public string Subject { get ; set ; } public bool IsBodyHtml { get ; set ; } public MailPriority Priority { get ; set ; } public NetworkCredential Credential { get ; set ; } public string Host { get ; set ; } public bool EnableSsl { get ; set ; } public static string Estado; public static bool Sucesfull; public SendMail() { Sender = new MailAddress("hhhhhhg3@gmail.com" , "E-WareHouse" , Encoding.UTF8); PassWordSender = "ghhhhhhh" ; EnableSsl = true ; Credential = new NetworkCredential(Sender.Address, PassWordSender); Host = "smtp.gmail.com" ; To = new List<MailAddress> { Sender }; } public void CreateMessage() { _mailMessage = new MailMessage { Sender = Sender }; if (To != null ) { foreach (var to in To) { _mailMessage.To.Add(to); } } _mailMessage.From = Sender; _mailMessage.Subject = Subject; _mailMessage.SubjectEncoding = Encoding.UTF8; _mailMessage.Body = Mensage; _mailMessage.BodyEncoding = Encoding.UTF8; _mailMessage.IsBodyHtml = IsBodyHtml; _mailMessage.Priority = Priority; } public void Send() { //Add the Creddentials var client = new SmtpClient { Credentials = Credential, Port = 587, Host = Host, EnableSsl = EnableSsl }; client.SendCompleted += ClientSendCompleted; object userState = _mailMessage; try { //you can also call client.Send(msg) client.SendAsync(_mailMessage, userState); } catch (SmtpException ex) { throw new SmtpException("Error Al Enviar El Mensage de Error" ,ex); } } private static void ClientSendCompleted(object sender, AsyncCompletedEventArgs e) { var mail = (MailMessage)e.UserState; var subject = mail.Subject; if (e.Cancelled) { var cancelled = string .Format("[{0}] Envido Cancelado" , subject); Estado = cancelled; //MessageBox.Show(cancelled); } if (e.Error != null ) { var error = String.Format("[{0}] {1}" , subject, e.Error); Estado = error; //MessageBox.Show(error); } else { Estado = "Mensage Enviado." ; Sucesfull = true ; // MessageBox.Show("Mensage Enviado."); } MailSent = true ; } } }
var mail = new SendMail { Subject = "Error En E-WareHouse WebService " , Mensage = "Error no Expesificado" }; mail.CreateMessage(); mail.Send();
pero y la agrego a un webservice 1.1 que esta en un iis de xp
no se envian los mail
alguien tiene alguna idea de lo que puede ser?
gracias de ante manomiércoles, 8 de julio de 2009 14:27
Respuestas
-
hola,
Por lo que cuantas me da la impresion que desde el server donde tienes el servicio web no esta pudiendo conectarse por el puerto del smtp donde esta tu servicio de correo.
Seguramente esto se deba a que tu servidor este en una DMZ, y esto deberias verlo con el admin de la red, comentandole que deberia habrir los puertos necesarios para que ese servidor pueda acceder al servicio de correo.
Como te decia si es este el problema se soluciona mediante la configuracion del firewall de la red.
saludos
Leandro Tuttini
Blog
Buenos Aires
Argentina- Propuesto como respuesta Juan Carlos Ruiz [perfil anterior]Moderator viernes, 10 de julio de 2009 18:34
- Marcado como respuesta Juan Carlos Ruiz [perfil anterior]Moderator viernes, 24 de julio de 2009 18:48
jueves, 9 de julio de 2009 18:40
Todas las respuestas
-
hola,
pero la pregunta seria, no envia y lanza un error, o simplemente no envia ?
has verificado que el iis donde esta hosteado el webservice tien acceso al servidor de mail, o puede salir por el puerto de SMTP, creo recordad que es el 125, pero verificalo.
has podido agregar lineas de debug que escriban en el eventviewer, para ver por donde pasa, o si da error.
saludo
Leandro Tuttini
Blog
Buenos Aires
Argentinamiércoles, 8 de julio de 2009 16:12 -
simplemente no envia
pero ahora mismo estoi revisando para ver por donde pasa,miércoles, 8 de julio de 2009 18:21 -
hola,
recuerda que tienes el System.Diagnostics para poder logear, por ejemplo al event viewer
mas puntualmente este EventLogEntry es muy util cuando no puedes debugear
saludos
Leandro Tuttini
Blog
Buenos Aires
Argentinamiércoles, 8 de julio de 2009 18:26 -
parace que es un problema en la configuracion del smtp de iis
el error que me sale es este
System.Net.Mail.SmtpException: Failure sending mail. ---> System.Net.WebException: Unable to connect to the remote server ---> System.Net.Sockets.SocketException: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond 209.85.199.109:587
at System.Net.Sockets.Socket.EndConnect(IAsyncResult asyncResult)
at System.Net.ServicePoint.ConnectSocketInternal(Boolean connectFailure, Socket s4, Socket s6, Socket& socket, IPAddress& address, ConnectSocketState state, IAsyncResult asyncResult, Int32 timeout, Exception& exception)
--- End of inner exception stack trace ---
at System.Net.Mail.SmtpConnection.ConnectAndHandshakeAsyncResult.End(IAsyncResult result)
at System.Net.Mail.SmtpClient.ConnectCallback(IAsyncResult result)
--- End of inner exception stack trace ---
tendre que investigar como configurarlojueves, 9 de julio de 2009 18:21 -
hola,
Por lo que cuantas me da la impresion que desde el server donde tienes el servicio web no esta pudiendo conectarse por el puerto del smtp donde esta tu servicio de correo.
Seguramente esto se deba a que tu servidor este en una DMZ, y esto deberias verlo con el admin de la red, comentandole que deberia habrir los puertos necesarios para que ese servidor pueda acceder al servicio de correo.
Como te decia si es este el problema se soluciona mediante la configuracion del firewall de la red.
saludos
Leandro Tuttini
Blog
Buenos Aires
Argentina- Propuesto como respuesta Juan Carlos Ruiz [perfil anterior]Moderator viernes, 10 de julio de 2009 18:34
- Marcado como respuesta Juan Carlos Ruiz [perfil anterior]Moderator viernes, 24 de julio de 2009 18:48
jueves, 9 de julio de 2009 18:40