Page 1 of 1
Enviar Email, sin outlook express
Posted: Fri Dec 18, 2009 3:24 pm
by karinha
Buenos dias mastros,
Necesito ejemplos de como enviar emails sin usar outlook express.
Muchas gracias,
Saludos.
Re: Enviar Email, sin outlook express
Posted: Fri Dec 18, 2009 3:54 pm
by derpipu
yo te recomendaria usar el CDOSYS de Windows
te paso el codigo que recopile del foro y de internet y que me sirve para enviar mis correos, espero te sea de utilidad...
Saludos
Code: Select all
#ifndef _CDOSYS_CH
#define _CDOSYS_CH
#define cdoSMTPServer "http://schemas.microsoft.com/cdo/configuration/smtpserver"
#define cdoSMTPServerPort "http://schemas.microsoft.com/cdo/configuration/smtpserverport"
#define cdoSendUsing "http://schemas.microsoft.com/cdo/configuration/sendusing"
#define cdoSMTPPickupFolder "http://schemas.microsoft.com/cdo/configuration/smtpserverpickupdirectory"
#define cdoSMTPAuthenticate "http://schemas.microsoft.com/cdo/configuration/smtpauthenticate"
#define cdoSendUserName "http://schemas.microsoft.com/cdo/configuration/sendusername"
#define cdoSendPassword "http://schemas.microsoft.com/cdo/configuration/sendpassword"
#define cdoSMTPUseSSL "http://schemas.microsoft.com/cdo/configuration/smtpusessl"
#endif
METHOD SendMail()
local oError := nil
local cEnvio := "algo@algo.com"
TRY
WSAStartup()
::cIp := GetHostByName( "algo.com" )
::oEmailCfg := CREATEOBJECT( "CDO.Configuration" )
WITH OBJECT ::oEmailCfg:Fields
:Item( cdoSMTPServer ):Value := ::cIp
:Item( cdoSMTPServerPort ):Value := 587
:Item( cdoSendUsing ):Value := 2 // cdoSendUsingPickup (1), cdoSendUsingPort (2), cdoSendUsingExchange (3)
:Item( cdoSMTPAuthenticate ):Value := .T.
:Item( cdoSMTPUseSSL ):Value := .F.
:Item( cdoSendUserName ):Value := "envio@algo.com" // direccion de la que se enviara el correo
:Item( cdoSendPassword ):Value := "contraseña"
:Update()
END WITH
::oEmailMsg := CREATEOBJECT ( "CDO.Message" )
WITH OBJECT ::oEmailMsg
:Configuration := ::oEmailCfg
:From := "Envio <envio@algo.com>"
:To := cEnvio
:Organization := "PRUEBAS"
:Subject := "ENVIO DE PRUEBAS"
:TextBody := "EL TEXTO DEL CORREO"
:Send()
END WITH
CATCH oError
MsgStop( "No se pudo enviar el mensaje electronico..." + CRLF +;
"Error: " + CHR(9) + transform( oError:GenCode, NIL) + CRLF +;
"SubC: " + CHR(9) + transform( oError:SubCode, NIL) + CRLF +;
"OSCode: " + CHR(9) + transform( oError:OsCode, NIL) + CRLF +;
"SubSystem: " + CHR(9) + transform( oError:SubSystem, NIL) + CRLF +;
"Mensaje: " + CHR(9) + oError:Description, oApp:cEmpresa )
END
Re: Enviar Email, sin outlook express
Posted: Sat Dec 19, 2009 3:06 am
by JoseGS
Hola amigo:
Como utilizo este codigo ?
Gracias y perdona mi ignorancia...
Re: Enviar Email, sin outlook express
Posted: Sat Dec 19, 2009 4:07 pm
by MauroArevalo
Jose:
En este link encuentras un demo.
http://www.box.net/shared/o7oxcfqlsm
Espero te sirva.
Re: Enviar Email, sin outlook express
Posted: Sun Dec 20, 2009 3:18 am
by JoseGS
Hola amigo, gracias por el ejemplo, pero ejecuto el EXE que incluyes y me presenta el siguiente error al momento de enviar el mail:
No se pudo enviar el mensaje
Error: 1001
SubC: 3
OSCode: 0
SubSystem: CDO.Message
Message: DISP_MEMBERNOTFOUND
Me podras orientar ?
Re: Enviar Email, sin outlook express
Posted: Mon Dec 21, 2009 4:40 pm
by derpipu
Mira, en este caso mi servidor de correos usaba autenticacion para el envio, pero igual y juega con estos valores y haz pruebas..
Code: Select all
:Item( cdoSMTPServer ):Value := ::cIp
:Item( cdoSMTPServerPort ):Value := 587
:Item( cdoSendUsing ):Value := 2 // cdoSendUsingPickup (1), cdoSendUsingPort (2), cdoSendUsingExchange (3)
:Item( cdoSMTPAuthenticate ):Value := .T.
:Item( cdoSMTPUseSSL ):Value := .F.
Saludos
LF