Código: Selecionar todos
#require 'hbssl'
#require 'hbtip'
#if ! defined( __HBSCRIPT__HBSHELL )
REQUEST __HBEXTERN__HBSSL__
#endif
#include "simpleio.ch"
Static Function Mail(cHost, nPort, lSSL, cFrom, cTo, cCC, cBCC, cMsg, cSubject, aFiles, cPassword, lRead)
Local lStartTLS := .F.
cHost := Lower( cHost )
/* SMTPS trabalha com SSL/TLS na porta 465 e com STARTTLS
na porta 587. O modo STARTTLS e totalmente automatico e requer
que SSL/TLS seja desativado primeiro (ele sera ativado em
pedido apos o comando STARTTLS)*/
hb_default( @nPort, Iif( lStartTLS, 587, 465 ) )
Do Case
Case cHost == "google" .Or. "@gmail.com" $ cFrom .Or. "@googlemail.com" $ cFrom
cHost := "smtp.gmail.com"
Case cHost == "office365"
cHost := "smtp.office365.com"; lSTARTTLS := .T.
Case cHost == "outlook" .Or. "@outlook.com" $ cFrom .Or. "hotmail.com" $ cFrom .Or. "@hotmail.com" $ cFrom
cHost := "smtp-mail.outlook.com"; lSTARTTLS := .T.
Case cHost == "uol" .Or. "@uol.com.br" $ cFrom
cHost := "smtps.uol.com.br"
Case cHost == "yahoo" .Or. "@yahoo.com" $ cFrom
cHost := "smtp.mail.yahoo.com"
Case cHost == "ig" .Or. "@ig.com.br" $ cFrom
cHost := 'smtp.ig.com.br'
EndCase
If Tip_MailSend( ;
cHost, ;
nPort, ;
cFrom, ;
cTo, ;
cCC /* CC */, ;
cBCC /* BCC */, ;
cMsg /* Corpo Mensagem */, ;
cSubject /* Assunto */, ;
aFiles /* attachment */, ;
cFrom, ;
cPassword, ;
"", ;
NIL /* nPriority */, ;
lRead /* lRead */, ;
.F. /* lTrace */, ;
.F., ;
NIL /* lNoAuth */, ;
NIL /* nTimeOut */, ;
NIL /* cReplyTo */, ;
nPort == 465 )
Alert('e-mail enviado com sucesso!')
Else
Alert( 'Nao foi possivel enviar;o e-mail. Verifique as; configuracoe de e-mail. ')
EndIf
Return(.T.)
Conteúdo hbp:
Demo.prg
hbssl.hbc
hbtip.hbc
Dlls inclusas na pasta:
libeay32.dll
libssl32.dll
ssleay32.dll
Compila mas apresenta a seguinte mensagem ao executar:
Não foi possível localizar o ponto de entrada do procedimento EVP_rc5_32_12_16_cbc na biblioteca de vínculo dinâmico C:\email\demo.exe

