Enviar Correo con CDO

Post Reply
User avatar
acuellar
Posts: 1312
Joined: Tue Oct 28, 2008 6:26 pm
Location: Santa Cruz-Bolivia

Enviar Correo con CDO

Post by acuellar »

Estimados

He intentado con éstos 2 códigos enviar y no envia con cuenta GMAIL y HOTMAIL

Code: Select all

#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: Select all

#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.
Mike Serra
Posts: 287
Joined: Fri Apr 14, 2006 5:52 pm
Location: Córdoba (España)

Re: Enviar Correo con CDO

Post by Mike Serra »

Buenas Tardes acuellar:

Prueba el primer codigo pero estableciendo ssl a true

Code: Select all

: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á
User avatar
acuellar
Posts: 1312
Joined: Tue Oct 28, 2008 6:26 pm
Location: Santa Cruz-Bolivia

Re: Enviar Correo con CDO

Post by acuellar »

Muchas gracias Mike

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

Adhemar C.
User avatar
karinha
Posts: 4882
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil

Re: Enviar Correo con CDO

Post by karinha »

João Santos - São Paulo - Brasil
Post Reply