hb_sendmail

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

Moderador: Moderadores

HOR INFORMATICA
Usuário Nível 1
Usuário Nível 1
Mensagens: 4
Registrado em: 13 Ago 2011 18:45
Localização: SÃO PAULO - SP

hb_sendmail

Mensagem por HOR INFORMATICA »

Olá

Eu uso a função hb_sendmail() no Harbour 3.0 e compilo com as libs hbtip e hbtipssl, funciona normalmente sem problema, depois que atualizo para a versão 3.2 não consigo mais enviar, dá um erro no SSL_SET_MODE. Procurei informações no Forum e até segui algumas instruções que encontrei mudando as libs na hora da compilação, mas não funcionou. Será que alguém já passou por esse problema e teria uma alguma informação?
Avatar do usuário
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 7929
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 1 vez

hb_sendmail

Mensagem por Itamar M. Lins Jr. »

Tem que linkar a hbssl.hbc, hbtip.hbc

Use dessa forma agora.

Código: Selecionar todos

/* Copyright 2009 Viktor Szakats (vszakats.net/harbour) */

#require "hbssl"
#require "hbtip"

#if ! defined( __HBSCRIPT__HBSHELL )
REQUEST __HBEXTERN__HBSSL__
#endif

#include "simpleio.ch"

PROCEDURE Main( cFrom, cPassword, cTo, cProvider )

   LOCAL cHost
   LOCAL lSTARTTLS := .F.

   IF ! tip_SSL()
      ? "Error: Requires SSL support"
      RETURN
   ENDIF

   hb_default( @cFrom    , "<from@example.net>" )
   hb_default( @cPassword, "password" )
   hb_default( @cTo      , "to@example.com" )
   hb_default( @cProvider, "" )

   cProvider := Lower( cProvider )

   DO CASE
   CASE cProvider == "apple" .OR. "@icloud.com" $ cFrom .OR. "@mac.com" $ cFrom .OR. "@me.com" $ cFrom
      cHost := "smtp.mail.me.com"; lSTARTTLS := .T.
   CASE cProvider == "fastmail" .OR. "@fastmail.com" $ cFrom .OR. "@fastmail.fm" $ cFrom
      cHost := "mail.messagingengine.com"
   CASE cProvider == "gmx.net" .OR. "@gmx.net" $ cFrom .OR. "@gmx.ch" $ cFrom .OR. "@gmx.de" $ cFrom
      cHost := "mail.gmx.net"; lSTARTTLS := .T.
   CASE cProvider == "google" .OR. "@gmail.com" $ cFrom .OR. "@googlemail.com" $ cFrom
      cHost := "smtp.gmail.com"
   CASE cProvider == "mail.ru" .OR. "@mail.ru" $ cFrom
      cHost := "smtp.mail.ru"
   CASE cProvider == "netease" .OR. "@163.com" $ cFrom
      cHost := "smtp.163.com"
   CASE cProvider == "office365"
      cHost := "smtp.office365.com"; lSTARTTLS := .T.
   CASE cProvider == "outlook" .OR. "@outlook.com" $ cFrom .OR. "@hotmail.com" $ cFrom
      cHost := "smtp-mail.outlook.com"; lSTARTTLS := .T.
   CASE cProvider == "sina" .OR. "@sina.com" $ cFrom
      cHost := "smtp.vip.sina.com"
   CASE cProvider == "uol" .OR. "@uol.com.br" $ cFrom
      cHost := "smtps.uol.com.br"
   CASE cProvider == "yahoo" .OR. "@yahoo.com" $ cFrom
      cHost := "smtp.mail.yahoo.com"
   OTHERWISE
      ? "Error: Unknown provider"
      RETURN
   ENDCASE

   ? tip_MailSend( ;
      cHost, ;
      iif( lSTARTTLS, 587, 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 */, ;
      ! lSTARTTLS )

   RETURN
Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
HOR INFORMATICA
Usuário Nível 1
Usuário Nível 1
Mensagens: 4
Registrado em: 13 Ago 2011 18:45
Localização: SÃO PAULO - SP

hb_sendmail

Mensagem por HOR INFORMATICA »

Olá Itamar

As libs hbssl e hbtip tem que estar em alguma pasta específica?
Tentei compilar e dá erro, o harbour não localiza as libs, copiei da pasta \hb32\contrib para a pasta \hb32\lib\win\mingw, mas também não dá certo.

Obrigado
Avatar do usuário
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 7929
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 1 vez

hb_sendmail

Mensagem por Itamar M. Lins Jr. »

As libs hbssl e hbtip tem que estar em alguma pasta específica?
Não moço., use desse link.
https://sourceforge.net/projects/harbou ... e/download
Desinstale tudo ai antes.
É só entrar na pasta \contrib\hbtip\tests\gmail.prg
Eu uso o fork do Viktor (harbour 3.4) que já está um pouco melhorado esse assunto.
No dele tem \contrib\hbtip\tests\email.prg que foi esse que postei ai em cima.

Eu não sei se o FORK do Viktor já fornece o Harbour dele compilado, porque eu baixo os fontes via GITHUB.

Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Responder