RESUELTO !!! ->Problemas para enviar Mail por CDO

Post Reply
FiveWiDi
Posts: 910
Joined: Mon Oct 10, 2005 2:38 pm

RESUELTO !!! ->Problemas para enviar Mail por CDO

Post by FiveWiDi »

Hola a todos,

Estoy intentando enviar un mail usando CDO y obtengo este mensaje de error:

"Could not send message;Error: 13;SubC: 1009;OSCode: -2147352570;SubSystem: WINOLE;Message: No existe el m‚todo"

El error se da después de:

TRY
oCfg := CREATEOBJECT( "CDO.Configuration" )
oCfg:Item( "http://schemas.microsoft.com/cdo/config ... smtpserver" ):Value := cServer

¿Qué me está ocurriendo?
¿Por que me da error al crear el objeto/usar el método?
¿Se necesita algo 'especial' para usar CDO? ¿Se debe 'activar' algo?

¿Estos valores/datas, están en el registro de windows? ¿Saben dónde?

¿Saben de alguna herramienta gratuita que sirva para limpiar el registro de windows?
Estoy empezando a ver fantasmas por todos lados, llevo un mes sin poder enviar correos desde la aplicación.

Muchas gracias,
Last edited by FiveWiDi on Fri Dec 29, 2017 10:23 pm, edited 1 time in total.
Un Saludo
Carlos G.

FiveWin 19.06 + Harbour 3.2, BCC 7 Windows 10
horacio
Posts: 1270
Joined: Wed Jun 21, 2006 12:39 am
Location: Capital Federal Argentina

Re: Problemas para enviar Mail por CDO

Post by horacio »

Podías enviar mails anteriormente ???

Saludos
FiveWiDi
Posts: 910
Joined: Mon Oct 10, 2005 2:38 pm

Re: Problemas para enviar Mail por CDO

Post by FiveWiDi »

horacio wrote:Podías enviar mails anteriormente ???

Saludos
Si, pero lo hacía con la clase TSMTP.

Pero desde hace 1 mes no me funciona y había optado por cambiar a CDO.

Tendrá que ver el antivirus?
Un Saludo
Carlos G.

FiveWin 19.06 + Harbour 3.2, BCC 7 Windows 10
horacio
Posts: 1270
Joined: Wed Jun 21, 2006 12:39 am
Location: Capital Federal Argentina

Re: Problemas para enviar Mail por CDO

Post by horacio »

Si usas gmail como servidor de correo deberías habilitar "Aplicaciones menos seguras" para poder enviar correos.

Saludos
FiveWiDi
Posts: 910
Joined: Mon Oct 10, 2005 2:38 pm

Re: Problemas para enviar Mail por CDO

Post by FiveWiDi »

horacio wrote:Si usas gmail como servidor de correo deberías habilitar "Aplicaciones menos seguras" para poder enviar correos.

Saludos
Gracias Horacio, pero no es el caso.

Aun así, como habilito "Aplicaciones menos seguras"?
Un Saludo
Carlos G.

FiveWin 19.06 + Harbour 3.2, BCC 7 Windows 10
horacio
Posts: 1270
Joined: Wed Jun 21, 2006 12:39 am
Location: Capital Federal Argentina

Re: Problemas para enviar Mail por CDO

Post by horacio »

FiveWiDi
Posts: 910
Joined: Mon Oct 10, 2005 2:38 pm

RESUELTO!!! Re: Problemas para enviar Mail por CDO

Post by FiveWiDi »

Bueno, después de todo era una tontería.

Los códigos que hay en el foro sinceramente no sé si funcionan (no tengo ganas de mirar más).

Este a mi me funciona (sin probar lNotification ni lSSL):

Code: Select all

FUNCTION MAILSend_CDO10( cFrom, cServer, cTo, cSubject, cMessage, aAttach, cSender, cUser, cPassword, aCc, aBCc, lHtml, cPort, lNotification, lSSL )

    LOCAL lOk := .T.
    LOCAL oCfg, oMsg
    LOCAL cCc := ""
    Local cBCc := ""
    LOCAL i
    Local oError
    
    DEFAULT lHtml         := "<html" $ LOWER( cMessage )
    DEFAULT lNotification := .F.
    DEFAULT lSSL          := .F.

    TRY
        oCfg := CREATEOBJECT( "CDO.Configuration" )

        oCfg:Fields:Item( "http://schemas.microsoft.com/cdo/configuration/smtpserver" ):Value := cServer
        IF !EMPTY( cPort )
            oCfg:Fields:Item( "http://schemas.microsoft.com/cdo/configuration/smtpserverport" ):Value := VAL( cPort )
        ENDIF
        oCfg:Fields:Item( "http://schemas.microsoft.com/cdo/configuration/sendusing" ):Value := 2   
        oCfg:Fields:Item( "http://schemas.microsoft.com/cdo/configuration/smtpauthenticate" ):Value := 0
        IF !EMPTY( cUser ) .AND. !EMPTY( cPassword )
            oCfg:Fields:Item( "http://schemas.microsoft.com/cdo/configuration/smtpauthenticate" ):Value := 1
            oCfg:Fields:Item( "http://schemas.microsoft.com/cdo/configuration/sendusername" ):Value := cUser
            oCfg:Fields:Item( "http://schemas.microsoft.com/cdo/configuration/sendpassword" ):Value := cPassword
            oCfg:Fields:Item( "http://schemas.microsoft.com/cdo/configuration/smtpusessl" ):Value := 0   // lSSL
        ENDIF

        oCfg:Fields:Update()

    CATCH oError

        MsgInfo( "Could not send message" + ";"  + ;
                 "Error: " + TRANSFORM(oError:GenCode, NIL) + ";" + ;
                 "SubC: " + TRANSFORM(oError:SubCode, NIL) + ";" + ;
                 "OSCode: " + TRANSFORM(oError:OsCode, NIL) + ";" + ;
                 "SubSystem: " + TRANSFORM(oError:SubSystem, NIL) + ";" + ;
                 "Message: " + oError:Description, "Error en la configuración de envío." )
                 
        lOk = .F.

    END

    oError:=NIL

    TRY
   
        oMsg := CREATEOBJECT( "CDO.Message" )
        oMsg:Configuration := oCfg
        IF !EMPTY( cSender )
            cFrom := ["] + cSender + ["] + " <" + cFrom + ">"
        ENDIF
        oMsg:From    := cFrom
        oMsg:To      := cTo
        oMsg:Subject := cSubject

        IF !EMPTY( aCc )
            FOR i := 1 TO LEN( aCc )
                IF i > 1
                    cCc += ";"
                ENDIF

                cCc += aCc[ i ]
            NEXT

            oMsg:CC := cCc
        ENDIF

        IF !EMPTY( aBCc )
            FOR i := 1 TO LEN( aBCc )
                IF i > 1
                    cBCc += ";"
                ENDIF

                cBCc += aBCc[ i ]
            NEXT

            oMsg:BCC := cBCc
        ENDIF

        IF !lHtml
            oMsg:TextBody := cMessage
        ELSE
            oMsg:HTMLBody := cMessage
        ENDIF

        IF !EMPTY( aAttach )
            FOR i := 1 TO LEN( aAttach )
                oMsg:AddAttachment( aAttach[ i ] )
            NEXT
        ENDIF


        IF lNotification
            oMsg:Fields:Item( "urn:schemas:mailheader:disposition-notification-to" ):Value = cFrom
            oMsg:Fields:Update()
        ENDIF

        oMsg:Send()

    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, "Error al configurar el mensage." )
                
        lOk = .F.

    END

RETURN lOk
 
Que nadie más tenga de perder tanto tiempo como yo.

Un abrazo y Feliz 2018!!!
Un Saludo
Carlos G.

FiveWin 19.06 + Harbour 3.2, BCC 7 Windows 10
Post Reply