miércoles, abril 02, 2014

Correo con WebPanel Adjunto

Nosotros utilizamos este código:

&Message.SetEmpty()
&Error = 0

//Obtener Parámetros - Esto lo tengo en la base de datos para poder parametrizarlo
&From = ObtienePreferenciaValCadena.Udp('EmailFrom')
&Name = ObtienePreferenciaValCadena.Udp('EmailName')
&Host = ObtienePreferenciaValCadena.Udp('EmailHost')
&UserName = ObtienePreferenciaValCadena.Udp('EmailUsuario')
&Password = ObtienePreferenciaValCadena.Udp('EmailPassword')
&Puerto = ObtienePreferenciaValNumerico.Udp('EmailPuerto')

//Envio de Email
&MailRecipient.Address = &From
&MailRecipient.Name = &Name
&SMTPSession.Host = &Host
&SMTPSession.Port = &Puerto
&SMTPSession.UserName = &UserName
&SMTPSession.Password = &Password
&SMTPSession.Sender = &MailRecipient
&SMTPSession.Authentication = 1
&SMTPSession.Login()

if &SMTPSession.ErrCode <> 0
       &Error = 1
       &Message = 'Error en login de la cuenta de correo:' + &SMTPSession.ErrDescription
endif

&MailMessage.To.New(&NombreContacto, &EmailContacto)

&MailMessage.Subject = &Subject
&MailForm.Object = EmailFormato.Create(&Mensaje) //EmailFormato es mi webpanel


&MailMessage.HTMLText = &MailForm.GetResponse()
&SMTPSession.Send(&MailMessage)

if &SMTPSession.ErrCode <> 0
       &Error = 1
       &Message = 'Error al enviar el correo: ' + &SMTPSession.ErrDescription
endif

&SMTPSession.Logout()
if &SMTPSession.ErrCode <> 0
       &Error = 1
       &Message = 'Error al cerrar la cuenta de correo: ' + &SMTPSession.ErrDescription
endif


En el web panel tengo dos imágenes que cargo en el evento Start así:

Event Start
       TBMensaje.Caption = &Mensaje
       Image1.FromURL(&URLImagen)
       Image7.FromURL(&URLImagen)
EndEvent

En donde &URLImagen debe ser la URL en donde se encuentra la imagen, claro que esa URL debe estar accesible desde internet. Otra opción es adjuntar las imágenes al mail pero yo tuve algunos inconvenientes con esa segunda opción.

Gracias a j.acosta@alphasoluciones.com


1 comentario:

Jesus dijo...

podrias apoyarme con esto. no he podido echarlo andar trabajo con genexus 18 , sql y c#

gracias de antemano.

saudos