|
© 2009 PortalFox
|
|
|
| Enviado por LuisMaria en Viernes, 27 Abril, 2007 |
|
Este artículo muestra como enviar un correo electrónico desde Visual FoxPro a través del servidor SMTP de Gmail que utiliza autentificación y cifrado SSL (Secure Sockets Layer).
Envío de correo electrónico por el servidor SMTP de Gmail
Por Luis María Guayán, Tucumán, Argentina
Gmail permite el envio de correo electrónico utilizando: el servidor smpt.gmail.com, autentificación, cifrado, puerto 465 ó 587, dirección de correo electrónico, nombre de usuario (incluido @gmail.com) y contraseña. (Para mas información de configuración haga clic aquí).
Craig Boyd publicó hace un tiempo en su Blog, varios artículos sobre distintas técnicas para el envio de mails desde VFP. Una de esas técnicas es mediante CDO (Collaboration Data Objects) que nos permite autenficación y cifrado SSL. Tomando como base su artículo "Email and VFP: Part 1c (CDOSYS)", solo se debe cambiar el puerto SMTP a 465 ó 587, y poner a .T. las propiedadades smtpauthenticate y smtpusessl.
El siguiente es el código modificado que nos permite el envió de correo electrónico a través del servidor SMTP de Gmail.
TRY
LOCAL lcSchema, loConfig, loMsg, loError, lcErr
lcErr = ""
lcSchema = "http://schemas.microsoft.com/cdo/configuration/"
loConfig = CREATEOBJECT("CDO.Configuration")
WITH loConfig.FIELDS
.ITEM(lcSchema + "smtpserver") = "smtp.gmail.com"
.ITEM(lcSchema + "smtpserverport") = 465 && ó 587
.ITEM(lcSchema + "sendusing") = 2
.ITEM(lcSchema + "smtpauthenticate") = .T.
.ITEM(lcSchema + "smtpusessl") = .T.
.ITEM(lcSchema + "sendusername") = "usuario@gmail.com"
.ITEM(lcSchema + "sendpassword") = "contraseña"
.UPDATE
ENDWITH
loMsg = CREATEOBJECT ("CDO.Message")
WITH loMsg
.Configuration = loConfig
.FROM = "usuario@gmail.com"
.TO = "usuario@hotmail.com"
.Subject = "Prueba desde Gmail"
.TextBody = "Este es un mensaje de prueba con CDO con " + ;
"autenticación y cifrado SSL desde Gmail"
.Send()
ENDWITH
CATCH TO loError
lcErr = [Error: ] + STR(loError.ERRORNO) + CHR(13) + ;
[Linea: ] + STR(loError.LINENO) + CHR(13) + ;
[Mensaje: ] + loError.MESSAGE
FINALLY
RELEASE loConfig, loMsg
STORE .NULL. TO loConfig, loMsg
IF EMPTY(lcErr)
MESSAGEBOX("El mensaje se envió con éxito", 64, "Aviso")
ELSE
MESSAGEBOX(lcErr, 16 , "Error")
ENDIF
ENDTRY
Este código funciona también para las cuentas de correo electrónico brindadas por Google Apps.
Hasta la próxima,
Luis María
|
|
|
|
|
|
| Envío de correo electrónico por el servidor SMTP de Gmail | Entrar/Crear una cuenta | 14 Comentarios |
|
| Los comentarios son propiedad de sus respectivos autores. No somos responsables de su contenido. |
Re: Envío de correo electrónico por el servidor SMTP de Gmail
por ScorpioFX en 04 May, 2007 - 04:51 (Información del usuario | Enviar un mensaje http://)
|
Buen artículo Luis María. Soy programador aficionado autodidacta, me interesa agregar esta funcion en un proyecto, pero al probarlo me sale un error, explico, lo que hice fue copiar y pegar el codigo en un prg, cambie los datos personales por los mios (correo, clave de acceso), como destinatario puse un correo alterno mio, tambien habilité la opcion de POP en gmail. Al ejecutar me sale:
Error 1429
Linea 24
Codigo de excepcion OLE IDispatch 0 de ?. No se puede enviar el mensaje al servidor SMTP. Codigo del error de transporte 0X80040217. Respuesta del servidor fue Not Available
Espero me puedas ayudar a resolver mi problema. De antemano, Gracias!
|
Re: Envío de correo electrónico por el servidor SMTP de Gmail por ScorpioFX en 04 May, 2007 - 04:54 (Información del usuario | Enviar un mensajehttp:// | | YA LO RESOLVI!, pero gracias de todos modos por tus grandes aportaciones, he aprendido mucho leyendo tus artículos. |
Re: Envío de correo electrónico por el servidor SMTP de Gmail por lautaromeneses en 28 Ago, 2008 - 03:18 (Información del usuario | Enviar un mensaje |
Estoy bastante atrasado, pero tengo ese mismo problema ahora, error de transporte
en la conexion al servidor.
Podrias ayudarme plis ?? |
Re: Envío de correo electrónico por el servidor SMTP de Gmail por jose.ramos en 03 Mar, 2010 - 12:31 (Información del usuario | Enviar un mensaje | | Yo tambien tengo tu problema y no se como resolverlo he configurado las cuentas pas a paso y me sigue saliendo este error |
Re: Envío de correo electrónico por el servidor SMTP de Gmail
por danydelgiudice en 12 Jun, 2007 - 11:44 (Información del usuario | Enviar un mensaje http://)
|
|
Hola Luis María:
soy de Santiago del Estero y tu artículo me ha solucionado un gran problema, gracias. Me falta algo y espero me puedas ayudar: quiero enviar pedidos a proveedores via correo electrónico. Calculo que debo generar un archivo html, pero cómo hago para que ese archivo lo tome el correo que genero a través de CDOSYS?
|
Re: Envío de correo electrónico por el servidor SMTP de Gmail
por aprendiz-100 en 26 Nov, 2007 - 09:10 (Información del usuario | Enviar un mensaje
|
muchas gracias excelente programa, por favor si me indicas como le hago para adjuntar archivos.
gracias de antemano
|
Re: Envío de correo electrónico por el servidor SMTP de Gmail por DHGR (dariohgr@hotmail.com) en 03 Feb, 2009 - 03:47 (Información del usuario | Enviar un mensaje | HOLA QUERIA SABER SI LLEGASTE A ENVIAR EMAIL DESDE VFP SEGUN EL EJEMPLO.
DARIO |
Re: Envío de correo electrónico por el servidor SMTP de Gmail
por crgruber72 en 02 Jul, 2009 - 04:46 (Información del usuario | Enviar un mensaje
|
|
Sr. Luis estoy tratando de implementar su rutina, pero me da error de código de transporte, el mismo error del compañero. Sería tan amable de ayudarme a solucionar este error por favor. Gracias
|
Re: Envío de correo electrónico por el servidor SMTP que no sea gmail
por joe90 en 16 Nov, 2009 - 04:32 (Información del usuario | Enviar un mensaje
|
Sr. Luis, muchas gracias por el aoprte que hace a la causa de fox.
La rutina para gmail he logrado hacerla funcionar, pero para otro tipo de servicio que no sea gmail me da error de código de transporte.
El puerto que utilizo es el mismo que de outlookexpess.
Ud. me podria indicar como se puede solucionar este problema.
Gracias.
Saludos
Jose Murua
|
Re: Envío de correo electrónico por el servidor SMTP de Gmail
por jose.ramos en 03 Mar, 2010 - 12:37 (Información del usuario | Enviar un mensaje
|
|
Yo tengo tambien el problema "The Transport failed to conect to the server a pesar que configure la cuenta de correo según tu link de tu articulo. Por favor deseo soucionar este problema.
|
|