Página 1 de 2

Email no Harbour?

Enviado: 05 Jun 2015 14:10
por aprendiz_ce
Prezados Colegas,

Como eu faço para enviar um e-mail pelo Harbour 3.2.0? Dei uma olhada em alguns exemplos aqui no fórum, mas não obtive sucesso.

Tentei adaptar esse exemplo do xHarbour, mas também não consegui. Segue:
http://www.linguagemclipper.com.br/book/export/html/48

Queria uma ajuda com algo bem simples, daí eu me viro...

Grato e aguardo qualquer orientação.

Email no Harbour?

Enviado: 05 Jun 2015 14:40
por Itamar M. Lins Jr.
Ola!
No Harbour 3.2, olhe exemplos na pasta \contribs\hbtip\tests

Código: Selecionar todos

/*
 * Copyright 2009 Viktor Szakats (vszakats.net/harbour)
 * www - http://harbour-project.org
 *
 * Gmail work with ssl on port 465 and with tls on port 587
 * tls mode is fully automatic and require that ssl must be disabled at first (We will activate it on request after STARTTLS command)
 */

#require "hbssl"
#require "hbtip"

REQUEST __HBEXTERN__HBSSL__

#include "simpleio.ch"

PROCEDURE Main( cFrom, cPassword, cTo, cPort)

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

   hb_default( @cFrom    , "<myname@gmail.com>" )
   hb_default( @cPassword, "<mypassword>" )
   hb_default( @cTo      , "addressee@domain.com" )
   hb_default( @cPort    , "465" )

   ? hb_SendMail( ;
      "smtp.gmail.com", ;
      Val(cPort), ;
      cFrom, ;
      cTo, ;
      NIL /* CC */, ;
      {} /* BCC */, ;
      "test: body", ;
      "test: port "+cPort, ;
      NIL /* attachment */, ;
      cFrom, ;
      cPassword, ;
      "", ;
      NIL /* nPriority */, ;
      NIL /* lRead */, ;
      .T. /* lTrace */, ;
      .F., ;
      NIL /* lNoAuth */, ;
      NIL /* nTimeOut */, ;
      NIL /* cReplyTo */, ;
      iif(cPort=="465",.T.,.F.) /* lSSL */  )

   RETURN
   
Já no Harbour 3.4 tem um exemplo mais completo. Talvez funcione no 3.2.

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, cHost )

   LOCAL nPort
   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( @cHost    , "localhost" )

   cHost := Lower( cHost )

   /* SMTPS works with SSL/TLS on port 465 and with STARTTLS
      on port 587. STARTTLS mode is fully automatic and require
      that SSL/TLS be disabled at first (it will be activated
      on request after STARTTLS command) */

   DO CASE
   CASE cHost == "apple" .OR. "@icloud.com" $ cFrom .OR. "@mac.com" $ cFrom .OR. "@me.com" $ cFrom
      cHost := "smtp.mail.me.com"; lSTARTTLS := .T.
   CASE cHost == "fastmail" .OR. "@fastmail.com" $ cFrom .OR. "@fastmail.fm" $ cFrom
      cHost := "mail.messagingengine.com"
   CASE cHost == "gmx.net" .OR. "@gmx.net" $ cFrom .OR. "@gmx.ch" $ cFrom .OR. "@gmx.de" $ cFrom
      cHost := "mail.gmx.net"; lSTARTTLS := .T.
   CASE cHost == "google" .OR. "@gmail.com" $ cFrom .OR. "@googlemail.com" $ cFrom
      cHost := "smtp.gmail.com"
   CASE cHost == "mail.ru" .OR. "@mail.ru" $ cFrom
      cHost := "smtp.mail.ru"
   CASE cHost == "netease" .OR. "@163.com" $ cFrom
      cHost := "smtp.163.com"
   CASE cHost == "office365"
      cHost := "smtp.office365.com"; lSTARTTLS := .T.
   CASE cHost == "outlook" .OR. "@outlook.com" $ cFrom .OR. "@hotmail.com" $ cFrom
      cHost := "smtp-mail.outlook.com"; lSTARTTLS := .T.
   CASE cHost == "sina" .OR. "@sina.com" $ cFrom
      cHost := "smtp.vip.sina.com"
   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
      IF TUrl():New( cHost ):nPort != -1
         nPort := TUrl():New( cHost ):nPort
      ENDIF
      lSTARTTLS := ( nPort == 587 )
      cHost := TUrl():New( cHost ):cServer
   ENDCASE

   hb_default( @nPort, iif( lSTARTTLS, 587, 465 ) )

   ? "Host:", cHost, hb_ntos( nPort ), iif( lSTARTTLS, "(STARTTLS)", "" )

   ? tip_MailSend( ;
      cHost, ;
      nPort, ;
      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 */, ;
      nPort == 465 )

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

Email no Harbour?

Enviado: 06 Jun 2015 09:52
por aprendiz_ce
Olá Itamar, Bom dia!

Entendido. Darei uma olhada nos exemplos que você me recomendou.

Só pra constar:
Eu testei a função TIpClientSmtp() e ao executar a rotina ela não dá erro algum, mas não envia nada, ou seja, nenhum email chega.

Outra dúvida:
Enviar emails pelo Harbour é 100% confiável? Posso realmente usar esse recurso sem problemas?

Muitíssimo obrigado pela sua atenção e aguardo o seu comentário.

Email no Harbour?

Enviado: 06 Jun 2015 10:35
por Itamar M. Lins Jr.
Enviar emails pelo Harbour é 100% confiável? Posso realmente usar esse recurso sem problemas?
O que é 100% confiável ?
Eu uso aqui assim, agora eu não sei porque ás vezes as pessoas perguntam essas coisas, tudo que uso/Usei Word/Excel/Autocad/Windows OS etc.. tem ou tinha Bug´s.

Saudações,
Itamar M. Lins Jr.

Email no Harbour?

Enviado: 06 Jun 2015 15:55
por aprendiz_ce
Itamar M. Lins Jr. escreveu:O que é 100% confiável ?
Pra mim é aquilo que a gente implementa, colocar para rodar e que o resultado é satisfatório, ou seja, com poucos ou até mesmo sem nenhum Bugs.

Segui suas orientações, mas não consegui fazer funcionar não. Apareceu um erro de DLL (libeay32.dll). Copiei a mesma para a pasta da rotina e mesmo assim não reconhece a referida DLL.

Email no Harbour?

Enviado: 06 Jun 2015 17:28
por Itamar M. Lins Jr.
https://pctoledo.org/forum/viewto ... 43&t=16195

Código: Selecionar todos

 Pasta de C:\hb34\bin

03/06/15  13:38         1.717.760 libeay32.dll
03/06/15  13:38           394.752 ssleay32.dll
Saudações,
Itamar M. Lins Jr.

Email no Harbour?

Enviado: 10 Jun 2015 10:40
por aprendiz_ce
Itamar M. Lins Jr. escreveu:https://pctoledo.org/forum/viewto ... 43&t=16195

Código: Selecionar todos

 Pasta de C:\hb34\bin

03/06/15  13:38         1.717.760 libeay32.dll
03/06/15  13:38           394.752 ssleay32.dll
Saudações,
Itamar M. Lins Jr.
Itamar, Bom dia!

Eu estou utilizando a versão 3.2, sendo assim, busquei as referidas dlls em c:\hb32\bin e não encontrei nada. O que faço agora?
Tenho que partir para a 3.4 ou qual seria a outra solução?

Eu até encontrei aqui no fórum, um post antigo respondido por você, aonde é mencionado um problema semelhante ao meu, só que no momento não estou mais encontrando esse port.

Grato e aguardo o seu comentário.

Email no Harbour?

Enviado: 10 Jun 2015 14:32
por Itamar M. Lins Jr.
https://pctoledo.org/forum/viewto ... 43&t=16195
Use esse post aqui que é rapidinho!

Saudações,
Itamar M. Lins Jr.

Email no Harbour?

Enviado: 15 Jun 2015 19:33
por aprendiz_ce
Itamar M. Lins Jr. escreveu:https://pctoledo.org/forum/viewto ... 43&t=16195
Use esse post aqui que é rapidinho!

Saudações,
Itamar M. Lins Jr.
Caro Itamar, Boa noite!

Segundo o post, a versão é 3.4. Não tem como eu utilizar a minha 3.2? Pergunto pelo fato deu ainda não dominar o Harbour 3.2 plenamente. Não sei se passar para a 3.4, no meu caso seria uma boa.

Você me recomendaria o uso da versão 3.4? Se sim, posso manter as duas versão do Harbour na mesma máquina sem problema algum?

Mais uma vez obrigado pela sua atenção e aguardo pelo seu comentário.

Forte abraço!

Email no Harbour?

Enviado: 15 Jun 2015 20:38
por Itamar M. Lins Jr.
É praticamente a mesma coisa, apenas que na 3.4 tem mais coisas que na 3.2 e ou algum nome de função que o Viktor melhorou, mas isso não interfere em nada.

Pode ser mais complicado voltar p/ a 3.2 caso use coisas que só tem na 3.4, neste caso é só não usar, claro que pode manter as duas ou até mais versões ai. BASTA prestar atenção no PATH p/ a versão do MingW.

Saudações,
Itamar M. Lins Jr.

Email no Harbour?

Enviado: 20 Jun 2015 09:47
por aprendiz_ce
Itamar M. Lins Jr. escreveu:É praticamente a mesma coisa, apenas que na 3.4 tem mais coisas que na 3.2 e ou algum nome de função que o Viktor melhorou, mas isso não interfere em nada.

Pode ser mais complicado voltar p/ a 3.2 caso use coisas que só tem na 3.4, neste caso é só não usar, claro que pode manter as duas ou até mais versões ai. BASTA prestar atenção no PATH p/ a versão do MingW.

Saudações,
Itamar M. Lins Jr.
Olá Itamar, Bom dia!

Entendido.

Vou tentar utilizar a versão 3.4, pois como tento manter o código do APP o mais "original/compatível" possível com o Clipper, penso que não terei problemas em ter as duas versões do Harbour na mesma máquina e ir fazendo alguns teste.

Aonde posso pegar a versão completinha do Harbour 3.4 tanto para Windows com para Linux?

Mais uma vez obrigado pela sua valiosa atenção.

Forte abraço!

Email no Harbour?

Enviado: 26 Jun 2015 21:57
por Itamar M. Lins Jr.
Ola!
Aonde posso pegar a versão completinha do Harbour 3.4 tanto para Windows com para Linux?
Veja se ajuda.
https://pctoledo.org/forum/viewto ... 43&t=16195

Linux complica mais um pouco porque vc nem disse qual distro vc usa, mas adianto que vai ter com compilar dos fontes, basta saber se vai ser debian (deb) ou Red Hat (rpm) os pacotes...

Saudações,
Itamar M. Lins Jr.

Email no Harbour?

Enviado: 29 Jun 2015 15:00
por aprendiz_ce
Itamar M. Lins Jr. escreveu:Ola!
Aonde posso pegar a versão completinha do Harbour 3.4 tanto para Windows com para Linux?
Veja se ajuda.
https://pctoledo.org/forum/viewto ... 43&t=16195

Linux complica mais um pouco porque vc nem disse qual distro vc usa, mas adianto que vai ter com compilar dos fontes, basta saber se vai ser debian (deb) ou Red Hat (rpm) os pacotes...

Saudações,
Itamar M. Lins Jr.
Olá Itamar, Boa Tarde!

A versão do Linux que eu uso é Debian. Nesse caso, como devo proceder?

Grato pela atenção.

Email no Harbour?

Enviado: 30 Jun 2015 12:54
por Itamar M. Lins Jr.
Ola!
No Linux, leia o arquivo README.MD, tem nas duas distribuições 3.2/3.4.
Lá tem o passo a passo.
## Binary .deb on Linux

$ fakeroot debian/rules binary

## Binary .rpm on Linux

$ package/mpkg_rpm.sh
Pelo que eu entendi, é para baixar os fontes, ir para o diretório em questão e digitar o comando ai de cima, mas antes tem o ajuste fino que está lá no readme.md

Saudações,
Itamar M. Lins Jr.

Email no Harbour?

Enviado: 02 Jul 2015 09:22
por aprendiz_ce
Itamar M. Lins Jr. escreveu:Ola!
No Linux, leia o arquivo README.MD, tem nas duas distribuições 3.2/3.4.
Lá tem o passo a passo.
## Binary .deb on Linux

$ fakeroot debian/rules binary

## Binary .rpm on Linux

$ package/mpkg_rpm.sh
Pelo que eu entendi, é para baixar os fontes, ir para o diretório em questão e digitar o comando ai de cima, mas antes tem o ajuste fino que está lá no readme.md

Saudações,
Itamar M. Lins Jr.
Itamar, Bom dia!

Entendido. Penso que dará para testar no Linux Debian sem a necessidade de instala-lo, pois já tenho a versão 3.2 instalada e compilando certo, daí assim que o tempo me permitir vou testar. Para o momento quero ver se consigo enviar e-mails pelo menos via Windows.

Mais uma vez obrigado pela sua atenção.

Forte abraço!