Gmail permite el envío 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 ENDTRYEste código funciona también para las cuentas de correo electrónico brindadas por Google Apps.
[07/04/2015] ACTUALIZACIÓN:
Quizás no puedas enviar correos electrónicos con el código de este artículo dado que Gmail (Google) puede bloquear intentos de inicio de sesión de aplicaciones que no utilicen los últimos estándares de seguridad. Para solucionar este inconveniente, se debe habilitar en nuestra cuenta de Google el acceso a aplicaciones menos seguras. Esto lo haces desde el enlace: https://www.google.com/settings/security/lesssecureapps
Hasta la próxima,
Luis María