e-mail no Harbour 3.2

Projeto [x]Harbour - Compilador de código aberto compatível com o Clipper.

Moderador: Moderadores

Softwhouse
Usuário Nível 3
Usuário Nível 3
Mensagens: 324
Registrado em: 07 Dez 2011 18:44
Localização: Porto Alegre/RS

e-mail no Harbour 3.2

Mensagem por Softwhouse »

Anos atrás utilizava essa rotina, compilada no Harbour 3.4, para enviar e-mail e funcionava perfeitamente. Preciso agora que funcione no Harbour 3.2 e não consigo fazer. Alguém sabe o que precisa mudar ?

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
Fernando
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

e-mail no Harbour 3.2

Mensagem por JoséQuintas »

Provavelmente DLLs erradas.
Não me pergunte, porque não uso essas coisas opcionais.

Provavelmente tem diferença conforme o compilador, versão de harbour, 32 ou 64 bits.
Provavelmente mais fácil com mingw, usando MSYS2 que baixa tudo de programação.
Provavelmente diferente conforme lib GUI adicional usada.
As LIBs GUI costumam ter sua própria versão de quase tudo, ao invés de atualizar harbour/xharbour.

Resumindo:
o que funciona pra um pode não funcionar pra outro, detalhe mais sobre suas ferramentas, pra ver se alguém usa igual.
Talvez seja necessário gerar novamente o harbour/xharbour com DLLs e CHs corretos(*)
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Softwhouse
Usuário Nível 3
Usuário Nível 3
Mensagens: 324
Registrado em: 07 Dez 2011 18:44
Localização: Porto Alegre/RS

e-mail no Harbour 3.2

Mensagem por Softwhouse »

Harbour 3.2.0dev (r2503251254), console, sem GUI, só o demo mesmo. Win32OpenSSL-3_4_1. Código de 10 anos atrás.
Fernando
Avatar do usuário
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 7928
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 1 vez

e-mail no Harbour 3.2

Mensagem por Itamar M. Lins Jr. »

Olá!
O código é velho, mas a DLL é nova.(desse ano)
Tem que extrair a lib .a dela.
Vc fez isso ?
Tá usando GCC ?

Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
lucimauro
Usuário Nível 3
Usuário Nível 3
Mensagens: 465
Registrado em: 21 Set 2004 21:02
Localização: Sobral-CE

e-mail no Harbour 3.2

Mensagem por lucimauro »

Ola, essa dica peguei aqui no site
adiciona no seu .HBP

Código: Selecionar todos

-fullstatic
Softwhouse
Usuário Nível 3
Usuário Nível 3
Mensagens: 324
Registrado em: 07 Dez 2011 18:44
Localização: Porto Alegre/RS

e-mail no Harbour 3.2

Mensagem por Softwhouse »

Lucimauro, obrigado pela dica, era esse o problema. Valeu!
Fernando
Responder