Enviado: 28 Mai 2012 13:40
Boa tarde
Qual a melhor ferramenta para envio e/ou recebimento de e-mail em Xharbour ?
Qual a melhor ferramenta para envio e/ou recebimento de e-mail em Xharbour ?
Código: Selecionar todos
// The example outlines the steps required for composing an eMail
// and sending it to an SMTP mail server.
PROCEDURE Main
LOCAL oSmtp, oEMail
LOCAL cSmtpUrl
LOCAL cSubject, cFrom, cTo, cBody, cFile
// preparing data for eMail
cSmtpUrl := "smtp://mailaccount:password@smtp.server.com"
cSubject := "Testing eMail"
cFrom := "MyName@Mail.server.com"
cTo := "YourName@another.server.com"
cFile := "File_Attachment.zip"
cBody := "This is a test mail sent at: " + DtoC(Date()) + " " + Time()
// preparing eMail object
oEMail := TIpMail():new()
oEMail:setHeader( cSubject, cFrom, cTo )
oEMail:setBody( cBody )
oEMail:attachFile( cFile )
// preparing SMTP object
oSmtp := TIpClientSmtp():new( cSmtpUrl )
// sending data via internet connection
IF oSmtp:open()
oSmtp:sendMail( oEMail )
oSmtp:close()
? "Mail sent"
ELSE
? "Error:", oSmtp:lastErrorMessage()
ENDIF
RETURN
Código: Selecionar todos
/*
* $Id: gmail.prg 17184 2012-01-06 15:28:23Z vszakats $
*/
/*
* Copyright 2009 Viktor Szakats (harbour syenar.net)
* www - http://harbour-project.org
*/
#include "common.ch"
#include "simpleio.ch"
PROCEDURE Main( cFrom, cPassword, cTo )
DEFAULT cFrom TO "<myname@gmail.com>"
DEFAULT cPassword TO "<mypassword>"
DEFAULT cTo TO "addressee@domain.com"
? hb_SendMail( "smtp.gmail.com",;
465,;
cFrom,;
cTo,;
NIL /* CC */,;
{} /* BCC */,;
"test: body",;
"test: subject",;
NIL /* attachment */,;
cFrom,;
cPassword,;
"",;
NIL /* nPriority */,;
NIL /* lRead */,;
.T. /* lTrace */,;
.F.,;
NIL /* lNoAuth */,;
NIL /* nTimeOut */,;
NIL /* cReplyTo */,;
.T. )
RETURN
Código: Selecionar todos
// The example outlines the steps required for composing an eMail
// and sending it to an SMTP mail server.
PROCEDURE Main
LOCAL oSmtp, oEMail
LOCAL cSmtpUrl
LOCAL cSubject, cFrom, cTo, cBody, cFile
// preparing data for eMail
cSmtpUrl := "smtp://mailaccount:password@smtp.server.com"
cSubject := "Testing eMail"
cFrom := "MyName@Mail.server.com"
cTo := "YourName@another.server.com"
cFile := "File_Attachment.zip"
cBody := "This is a test mail sent at: " + DtoC(Date()) + " " + Time()
// preparing eMail object
oEMail := TIpMail():new()
oEMail:setHeader( cSubject, cFrom, cTo )
oEMail:setBody( cBody )
oEMail:attachFile( cFile )
// preparing SMTP object
oSmtp := TIpClientSmtp():new( cSmtpUrl )
// sending data via internet connection
IF oSmtp:open()
oSmtp:sendMail( oEMail )
oSmtp:close()
? "Mail sent"
ELSE
? "Error:", oSmtp:lastErrorMessage()
ENDIF
RETURN
Código: Selecionar todos
/*
* $Id: gmail.prg 17184 2012-01-06 15:28:23Z vszakats $
*/
/*
* Copyright 2009 Viktor Szakats (harbour syenar.net)
* www - http://harbour-project.org
*/
#include "common.ch"
#include "simpleio.ch"
PROCEDURE Main( cFrom, cPassword, cTo )
DEFAULT cFrom TO "<myname@gmail.com>"
DEFAULT cPassword TO "<mypassword>"
DEFAULT cTo TO "addressee@domain.com"
? hb_SendMail( "smtp.gmail.com",;
465,;
cFrom,;
cTo,;
NIL /* CC */,;
{} /* BCC */,;
"test: body",;
"test: subject",;
NIL /* attachment */,;
cFrom,;
cPassword,;
"",;
NIL /* nPriority */,;
NIL /* lRead */,;
.T. /* lTrace */,;
.F.,;
NIL /* lNoAuth */,;
NIL /* nTimeOut */,;
NIL /* cReplyTo */,;
.T. )
RETURN
Código: Selecionar todos
LOCAL cFile := 'C:\TEMP\ERROS.TXT'
LOCAL cServer := 'smtp.gmail.com'
LOCAL nPort := 465
LOCAL cFrom := 'conta__s@gmail.com'
LOCAL xTo := 'conta__d@gmail.com'
LOCAL xCC := NIL
LOCAL xBCC := {}
LOCAL cBody := 'Relatorio de Erros.: ' + 'Data: ' + TRAN( DATE(), '@E' )
LOCAL cSubject := 'Erro.: ' + TRAN( DATE(), '@E' )
LOCAL aFiles := { cFile }
LOCAL cUser := cFrom
LOCAL cPass := 'password'
LOCAL cPopServer:= NIL
LOCAL nPriority := NIL
LOCAL lRead := .F.
LOCAL bTrace := .T.
LOCAL lPopAuth := .T.
LOCAL lNoAuth := .F.
LOCAL nTimeOut := NIL
LOCAL cReplyTo := NIL
LOCAL lTLS := .F.
LOCAL cSMTPPass := cPass
LOCAL cCharset := 'Win1252'
LOCAL cEncoding := ''
LOCAL bAux := hb_SendMail( cServer, nPort, cFrom, xTo, xCC, xBCC, cBody, cSubject, aFiles, cUser, cPass, cPopServer, nPriority, lRead, bTrace, lPopAuth, lNoAuth, nTimeOut, cReplyTo, lTLS, cSMTPPass, cCharset, cEncoding )
Código: Selecionar todos
**********************************************************************************************************************
FUNCTION CONFIG_MAIL(aFiles,cSubject,aQuem,cMsg,cServerIp,cFrom,cUser,cPass,vPORTSMTP,aCC,aBCC,vEMAIL_CONF,wSSL_EMAIL)
**********************************************************************************************************************
local lRet := .f.
local oCfg, oError
local lAut := .t.
TRY
oCfg := CREATEOBJECT( "CDO.Configuration" )
WITH OBJECT oCfg:Fields
:Item( "http://schemas.microsoft.com/cdo/configuration/smtpserver" ):Value := cServerIp
:Item( "http://schemas.microsoft.com/cdo/configuration/smtpserverport" ):Value := vPORTSMTP
:Item( "http://schemas.microsoft.com/cdo/configuration/sendusing" ):Value := 2
:Item( "http://schemas.microsoft.com/cdo/configuration/smtpauthenticate" ):Value := lAut
:Item( "http://schemas.microsoft.com/cdo/configuration/smtpusessl" ):Value := wSSL_EMAIL
:Item( "http://schemas.microsoft.com/cdo/configuration/sendusername" ):Value := alltrim(cUser)
:Item( "http://schemas.microsoft.com/cdo/configuration/sendpassword" ):Value := alltrim(cPass)
//:Item( "http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout" ):Value := 30
:Update()
END WITH
lRet := .t.
CATCH oError
MsgInfo( "Não Foi possível Enviar o e-Mail!" +HB_OsNewLine()+ ;
"Error: " + Transform(oError:GenCode, nil) + ";" +HB_OsNewLine()+ ;
"SubC: " + Transform(oError:SubCode, nil) + ";" +HB_OsNewLine()+ ;
"OSCode: " + Transform(oError:OsCode, nil) + ";" +HB_OsNewLine()+ ;
"SubSystem: " + Transform(oError:SubSystem, nil) + ";" +HB_OsNewLine()+ ;
"Mensaje: " + oError:Description, "Atenção" )
END
//--> FIM DAS CONFIGURAÇOES.
if lRet
lRet := Envia_Mail(oCfg,cFrom,aQuem,aFiles,cSubject,cMsg,aCC,aBCC)
endif
Return lRet
********************************************************************************
FUNCTION ENVIA_MAIL(oCfg,cFrom,cDest,aFiles,cSubject,cMsg,aCC,aBCC,vEMAIL_CONF)
********************************************************************************
local aTo := {}
local lRet := .f.
local nEle, oError
aTo := { cDest } //--> PARA
nEle := 1
for i:=1 to len(aTo)
TRY
oMsg := CREATEOBJECT ( "CDO.Message" )
WITH OBJECT oMsg
:Configuration = oCfg
:From = cFrom
:To = aTo[i]
:Cc = aCC
:BCC = aBCC
:Subject = cSubject
:TextBody = cMsg
For x := 1 To Len( aFiles )
:AddAttachment(AllTrim(aFiles[x]))
Next
IF vEMAIL_CONF=.T.
:Fields( "urn:schemas:mailheader:disposition-notification-to" ):Value := cFrom
:Fields:update()
ENDIF
:Send()
END WITH
lRet := .t.
CATCH oError
MsgInfo("Não Foi Possível Enviar," +HB_OsNewLine()+;
"a Mensagem: " +HB_OsNewLine()+;
cSubject +HB_OsNewLine()+;
"p/ o eMail: " + aTo[i] +HB_OsNewLine()+;
" - Erro: " + + oError:Description , "Atenção" )
lRet := .f.
END
next
Return lRet
Código: Selecionar todos
cFrom := "gilmarbehenck@gmail.com"
cPassword := "232100"
cTo := "gilmarbehenck@gmail.com"
? hb_SendMail( "smtp.gmail.com",;
465,;
cFrom,;
cTo,;
NIL /* CC */,;
{} /* BCC */,;
"test: body",;
"test: subject",;
NIL /* attachment */,;
cFrom,;
cPassword,;
NIL,;
NIL /* nPriority */,;
.F. /* lRead */,;
.T. /* lTrace */,;
.F.,;
.T. /* lNoAuth */,;
NIL /* nTimeOut */,;
NIL /* cReplyTo */,;
.T. ,;
cPassword ,;
"Win1232" ,;
'' )Código: Selecionar todos
aFiles := {}
lTls := .F.