FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Enviar Correo con CDO
Posts: 1710
Joined: Tue Oct 28, 2008 06:26 PM
Enviar Correo con CDO
Posted: Sat Jun 23, 2018 01:19 PM
Estimados

He intentado con éstos 2 códigos enviar y no envia con cuenta GMAIL y HOTMAIL
Code (fw): Select all Collapse
#Include "FiveWin.ch"

Function Main()
    Local oEmailCfg,oEmailMsg,oLoc
   
    TRY
       oEmailCfg := CREATEOBJECT( "CDO.Configuration" )
      WITH OBJECT  oEmailCfg:Fields
         :Item( "http://schemas.microsoft.com/cdo/configuration/smtpserver" ):Value := "smtp.gmail.com"
         :Item( "http://schemas.microsoft.com/cdo/configuration/smtpserverport" ):Value := 465 // 25 // 465
         :Item( "http://schemas.microsoft.com/cdo/configuration/sendusing" ):Value:= 2   // Remote SMTP = 2, local = 1
         :Item( "http://schemas.microsoft.com/cdo/configuration/smtpauthenticate" ):Value := .T.
         :Item( "http://schemas.microsoft.com/cdo/configuration/smtpusessl" ):Value :=  .F.
         :Item( "http://schemas.microsoft.com/cdo/configuration/sendusername" ):Value :=  "adhemarcr@gmail.com"
         :Item( "http://schemas.microsoft.com/cdo/configuration/sendpassword" ):Value :=  "pass"
         :Item( "http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout"):Value := 30
         :Update()
      END WITH
    CATCH oError
      MsgInfo( "No puede crear la configuración" + ";"  + ;
             "Error: " + TRANSFORM(oError:GenCode, NIL) + ";" + ;
             "SubC: " + TRANSFORM(oError:SubCode, NIL) + ";" + ;
             "OSCode: " + TRANSFORM(oError:OsCode, NIL) + ";" + ;
             "SubSystem: " + TRANSFORM(oError:SubSystem, NIL) + ";" + ;
             "Message: " + oError:Description )
       Return .F.
    END
    oError:=NIL
    ExePath:=cFilePath(GetModuleFileName(GetInstance()))

    Adjunto:=""
    cCuerpo:="Texto del cuerpo"
    TRY
     oEmailMsg := CREATEOBJECT ( "CDO.Message" )
     WITH OBJECT oEmailMsg
        :Configuration =  oEmailCfg
        :From = chr(34)+" Adhemar "+chr(34)+ "adhemarcr@gmail.com" 
        :To = "acuellar@lostajiboshotel.com" 
        :Subject =  "Envio automatico"
        :ReplyTo =  " " 
        :Sender =  " "  
        :Organization =  "AcrSoft"   
        :AddAttachment(Adjunto)
        :HTMLBody =  cCuerpo 
        :Send()
     END WITH
     SysRefresh()
    CATCH oError
        
       MsgInfo( "Could not send message" + ";"  + CRLF+ ;
         "Error: " + TRANSFORM(oError:GenCode, NIL) + ";" + CRLF+;
         "SubC: " + TRANSFORM(oError:SubCode, NIL) + ";" + CRLF+ ;
         "OSCode: " + TRANSFORM(oError:OsCode, NIL) + ";" + CRLF +;
         "SubSystem: " + TRANSFORM(oError:SubSystem, NIL) + ";" +CRLF+ ;
         "Message: " + oError:Description )
       Return .F.
    
    END
    MsgInfo("Correo enviado")

Return

Code (fw): Select all Collapse
#Include "FiveWin.ch"

function Main()

local oMsg := CreateObject( "CDO.Message" )
local oConf := CreateObject( "CDO.Configuration" )
local cSchema := "http://schemas.microsoft.com/cdo/configuration/"

oConf:Fields[ cSchema + "smtpusessl" ] = 1 //.T. 
oConf:Fields[ cSchema + "smtpauthenticate" ] = 1
oConf:Fields[ cSchema + "sendusername" ] = "adhemarcuellar@hotmail.com"//"adhemarcr@gmail.com" //
oConf:Fields[ cSchema + "sendpassword" ] = "pass"
oConf:Fields[ cSchema + "smtpserver" ] = "smtp-mail.outlook.com" //"smtp.gmail.com" //
oConf:Fields[ cSchema + "sendusing" ] = 2
oConf:Fields[ cSchema + "smtpserverport" ] = 465 //587 //465
        
oConf:Fields:Update()

oMsg:To = "acuellar@lostajiboshotel.com"
oMsg:From ="adhemarcuellar@hotmail.com" //"acuellar@gmail.com"  //
oMsg:Subject = "Prueba de correos con una cuenta gmail"
oMsg:HTMLBody = "aqui va el texto del mensaje"
oMsg:Sender = "adhemarcuellar"
oMsg:ReplyTo = "acrsoft@gmail.com"
oMsg:Configuration = oConf

oMsg:Send()
MsgInfo( "Correo enviado OK !!" )
Return


Utilizo:
Harbour 3.2.0dev (r1801051438)
Embarcadero C++ 7.30
FWH1803

Gracias por la ayuda
Saludos,



Adhemar C.
Posts: 297
Joined: Fri Apr 14, 2006 05:52 PM
Re: Enviar Correo con CDO
Posted: Sat Jun 23, 2018 05:07 PM
Buenas Tardes acuellar:

Prueba el primer codigo pero estableciendo ssl a true

Code (fw): Select all Collapse
:Item( "http://schemas.microsoft.com/cdo/configuration/smtpusessl" ):Value :=  .T.


Si no me equivoco, además hay que configurar la cuenta gmail para que se pueda enviar con aplicaciones menos seguras. En el foro creo que hay una forma de hacerlo, si no escríbelo en google, que te lo indicará
Posts: 1710
Joined: Tue Oct 28, 2008 06:26 PM
Re: Enviar Correo con CDO
Posted: Mon Jun 25, 2018 03:22 PM

Muchas gracias Mike

Ya funciona.
Era problema de permiso para enviar de apps menos seguras.

Saludos,



Adhemar C.
Posts: 8515
Joined: Tue Dec 20, 2005 07:36 PM
Re: Enviar Correo con CDO
Posted: Mon Jun 25, 2018 03:38 PM
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341

Continue the discussion