Error al enviar correo desde VFP 9 con CDO

3,694 views
Skip to first unread message

Israel Lara Corona

unread,
Mar 4, 2014, 12:13:27 PM3/4/14
to publice...@googlegroups.com
Que tal Todos!!

Necesito de su ayuda para resolver un problema que traigo para enviar correos desde VFP 9 con CDO, les comento cual es mi problema:

Realice una aplicación para enviar correos cada 20 segundos, y había funcionado correctamente ya que los correos de destinatario eran igual al del usuario de donde salen los correos,
es de mi empresa donde trabajo, pero me han solicitado cambiar los correos por los personales de cada empleado y ahí me manda error. el cual les muestro a continuación :

El código de error de transporte fue 0x80040217

He intentado cambiar el puerto pero tampoco he tenido fortuna!, reitero que si mando correos con destinatario @miempresa.com se envían correctamente, el problema
es con los correos externos.(hotmail,gmail,live,etc)

loCfg = CREATEOBJECT("CDO.Configuration")
WITH loCfg.Fields
   .Item("http://schemas.microsoft.com/cdo/configuration/smtpusessl")          = .T.      
 .Update
ENDWITH

Me pueden ayudar por favor!!

MALKASOFT ADPI: http://www.developervfp.blogspot.com/

unread,
Mar 4, 2014, 1:32:53 PM3/4/14
to publice...@googlegroups.com
Prueba con gmail creo que es el unico servidor que no te da error.


Saludos; 


Ing. Russvell Jesus Soto Gamarra 
Framework Multi-conexion v6.0 trabaja cualquier base de datos
(SQLServer, MySQL, Firebird, MariaDB, PostgreSQL, Oracle y etc.) 

Israel Lara Corona

unread,
Mar 4, 2014, 4:24:58 PM3/4/14
to publice...@googlegroups.com
Que tal Jesús, gracias por tu pronta ayuda, sabrás como queda la configuración por gmail?

Saludos

Ricardo Pina

unread,
Mar 4, 2014, 4:36:10 PM3/4/14
to Grupo VFP
Hola Israel

No soy Jesús, pero usando al Dios Google entre muchos link que salieron te paso este

http://www.lawebdelprogramador.com/foros/FoxPro_Visual_FoxPro/1259748-Emails_desde_FoxPro.html

Saludos
--
            

                   Ricardo Pina

Desarrollo y Servicios Informáticos

                  Profesionales
               www.dsip.com.ar

 

 

Israel Lara Corona

unread,
Mar 4, 2014, 5:10:46 PM3/4/14
to publice...@googlegroups.com
Jajaja estuvo muy buena Ricardo, te agradezco el apoyo déjame hacer prueba por favor y retroalimento en cuanto tenga algo!

saludos 

MALKASOFT ADPI: http://www.developervfp.blogspot.com/

unread,
Mar 4, 2014, 5:48:00 PM3/4/14
to publice...@googlegroups.com
Hola claro aquí te paso la configuración y el PRG que uso para enviar correos
loMail = CREATEOBJECT("Cdo2000")
  WITH loMail
*.cServer = "smtp.live.com"
.cServer = "smtp.gmail.com
.nServerPort = 465 &&gmail
*.nServerPort = 25 &&Hotmail.com
.lUseSSL = .T.
 
.nAuthenticate = 1 && cdoBasic
.cUserName = "tuco...@gmail.com"&&
.cPassword = "tucontraseña"&&
.cFrom = .cUserName
 
.cTo = "Correode...@servidor.com"&&Destinatario
 
.cSubject = "Prueba de correo"&&Asunto
 
*lcHTML = "<HTML>" + "Texto" + "</HTML>"
*lcHTML = STRTRAN(lcHTML, "contentEditable=true", "")
.cTextBody = "Por medio de la presente es grato saludarle y a la vez hacerle llegar su FACTURA ELECTRONICA en formato PDF y XML" &&se usa cunado se va enviar solo texto
*.cHtmlBody = lcHTML
lcAttach = cArchivo 
.cAttachment   = "Archivo1"+","+"Archivo2"
cRecep = "" 
*Normal
*High = Alto
*Low = Bajo
cPrioridad = "High" 
.cReplyTo  = cRecep
.cPriority = cPrioridad
ENDWITH
Thisform.waitclear()
IF loMail.Send() > 0
FOR i=1 TO loMail.GetErrorCount()
MESSAGEBOX(ALLTRIM(STR(i))+" - "+loMail.Geterror(i),16,"Error...")
ENDFOR
ELSE
MESSAGEBOX("Se envio correctamente el correo.",64,"Infromacion...")
ENDIF


EnviarCorreo.rar

Israel Lara Corona

unread,
Mar 5, 2014, 12:05:43 PM3/5/14
to publice...@googlegroups.com
Hola bue día a todos :

He probado la configuración que me ha enviado Ricardo que es similar a la de Jesús y tengo aun problemas me envía un error 1429 anexo pantalla para ver si me pueden ayudar

Saludos

MALKASOFT ADPI: http://www.developervfp.blogspot.com/

unread,
Mar 5, 2014, 1:19:01 PM3/5/14
to publice...@googlegroups.com
Hola habré tu correo de Gmail y luego tienes que hacer la comprobación que no estas usando para enviar correo masivos con eso tienes la solución.

Israel Lara Corona

unread,
Mar 6, 2014, 11:33:20 AM3/6/14
to publice...@googlegroups.com
Hola Todos:

Ya pude enviar correos desde el servidor de Gmail y Hotmail hacia cualquier otro servidor incluyendo el de mi empresa!, el problema radicaba en la salida a internet
tenia algunos bloqueos  por IT. 

Por protocolos no quieren que salgan desde un dominio de Gmail o de Hotmail, quieren que salga desde el dominio de mi empresa, pero no logro poder hacer esto,
Alguien mas que pueda dar alguna alternativa??

anexo pantalla del error! y la ultima configuración con la que estoy trabajando

loCfg = CREATEOBJECT("CDO.Configuration")
WITH loCfg.Fields
  .Update
ENDWITH


loMsg = CREATEOBJECT ("CDO.Message")
WITH loMsg
  .Configuration = loCfg
  .From     = "il...@miempresa.com"
  .To       = "isla....@gmail.com"
  .Cc       = "" 
  .Subject  = "Prueba1" 
  .TextBody = "prueba de envio de  correo  " 
  .Send()
ENDWITH
MESSAGEBOX("Correo Enviado")
Errorcondominio.png

Rodolfo Arias

unread,
Mar 8, 2014, 12:17:12 PM3/8/14
to publice...@googlegroups.com
A mi me fue imposible usar CDO, con el servicio de Microsoft Office365, parece irónico (pues se supone que es un servicio de MS) pero leí en un blog de Microsoft que CDO ya o no es compatible con Office365... tuve que hacer malabares para poder enviar los email que genera mi programa para  unos aviso que tiene que enviar en lote. 

Saludos.

Israel Lara Corona

unread,
Mar 11, 2014, 5:48:16 PM3/11/14
to publice...@googlegroups.com
Gracias a todos por sus aportaciones, a mi también me fué imposible enviar correos con CDO, pero pude utilizar el siguiente código, les dejó una muestra de como me funcionó,
tal vez haya otras alternativas pero esta me fué de mucha ayuda.


lOutlook = CREATEOBJECT("Outlook.Application") && creamos nuestro objeto de Outlook
lMail = lOutlook.CreateItem(0) && Creamos un nuevo mail
lMail.to = .....@gmail.com"
lmail.Attachments.Add("c:\archivo.png")
lMail.Subject = "Testing"
lMail.Body = "solo es una prueba"
lMail.Send

lOutlook = .NULL.
lMail = .NULL.
MESSAGEBOX("Correo Enviado")

Saludos

Federico Rojas Rosell

unread,
Jun 28, 2020, 9:42:49 PM6/28/20
to Comunidad de Visual Foxpro en Español
Israel

Muchas gracias, sigue funcionando 6 años después

Saludos
Reply all
Reply to author
Forward
0 new messages