Clipper On Line • Ver Tópico - email com Harbour

email com Harbour

Projeto hbNFe (Nota Fiscal Eletronica/Danfe) para [x]Harbour

Moderador: Moderadores

 

email com Harbour

Mensagempor hazael » 23 Abr 2018 15:21

Olá todos,

Assunto já discutido anteriormente, mas estou trazendo de volta porque como várias coisas tem mudado ultimamente, em especial nesta questão de envio de email.
Ví que há varias formas de enviar email pelo Harbour, algumas funcionam parcialmente outras funcionavam e não funcionam mais, inclusive eu mesmo tinha um exemplo de envio de email usando hb_senmail() que funcionava 100% e agora não funciona mais de jeito nenhum... só não vai.

Então, o que vocês estão usando que funciona? Usa Harbour 3.2 ou 3.4?
O 3.4 parece que está parado, então possivelmente tem futuro duvidoso.

No final das contas, o que usar para enviar email pelo Harbour?
Harbour | GTWVT | MingW | Visual Studio Code
Avatar de usuário

hazael
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 492
Data de registro: 27 Nov 2016 12:59
Curtiu: 9 vezes
Mens.Curtidas: 35 vezes

email com Harbour

Mensagempor asimoes » 23 Abr 2018 18:19

Olá,

É conta do GMAIL ?

Eu tenho uma solução para harbour 3.4 usando tip_MailSend
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar de usuário

asimoes
Colaborador

Colaborador
 
Mensagens: 4037
Data de registro: 26 Abr 2007 16:48
Cidade/Estado: RIO DE JANEIRO-RJ
Curtiu: 284 vezes
Mens.Curtidas: 197 vezes

email com Harbour

Mensagempor JoséQuintas » 23 Abr 2018 19:53

Tem exemplos no próprio Harbour.

Opção 1: tipmail
Opção 2: libcurl

Mas tem uma questão a mais:
gmail requer conexão segura
conexão segura requer componentes opcionais do Harbour, não criados na geração normal.

hazael escreveu:O 3.4 parece que está parado, então possivelmente tem futuro duvidoso.


Sendo prático:

Tá melhor e mais atualizado que XHarbour.
Mais provável XHarbour morrer primeiro.

Lógico... os usuários já estão matando ele em vida... aí fica duvidoso mesmo....
José M. C. Quintas
Harbour 3.4, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, hbnetio, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
Avatar de usuário

JoséQuintas
Colaborador

Colaborador
 
Mensagens: 10359
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 6 vezes
Mens.Curtidas: 659 vezes

email com Harbour

Mensagempor asimoes » 23 Abr 2018 20:14

JoséQuintas escreveu:hazael escreveu:
O 3.4 parece que está parado, então possivelmente tem futuro duvidoso.


Harbour 3.2 ainda é distribuído pela Minigui ex. então essa coisa de morrer acho que no momento é um pouco remoto, quem sabe não sai um fork made in brazil, a exemplo que está sendo feito com a hwgui qt.
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar de usuário

asimoes
Colaborador

Colaborador
 
Mensagens: 4037
Data de registro: 26 Abr 2007 16:48
Cidade/Estado: RIO DE JANEIRO-RJ
Curtiu: 284 vezes
Mens.Curtidas: 197 vezes

email com Harbour

Mensagempor hazael » 23 Abr 2018 22:04

Opção 1: tipmail
Opção 2: libcurl

Eu agradeceria se pudesse mostrar dois exemplos (1 de cada) e qual compilador usou
De alguma forma o hb_sendmail() que funcionava 100% para mim deixou de funcionar... não sei desde quando - não mudou nada no código, tive que recompilar um programa por causa de uma outra alteração em algo que não tem nada haver com isso e pronto... parou de funcionar.
Olhei no Changelog e ví que o Viktor mudou isso no 3.4 e mudou de nome para tip_mailsend() e falou que tem muito bug na lib tip... aconselhou a usar o curl mas não achei exemplo que use curl.

É conta do GMAIL ?
Eu tenho uma solução para harbour 3.4 usando tip_MailSend

Poderia mostrar exemplo com gmail também?
Certamente será necessário, mas agora mesmo estou precisando para um email normal, tanto pela porta 25, como 587 como 465

Obrigado!
Harbour | GTWVT | MingW | Visual Studio Code
Avatar de usuário

hazael
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 492
Data de registro: 27 Nov 2016 12:59
Curtiu: 9 vezes
Mens.Curtidas: 35 vezes

email com Harbour

Mensagempor asimoes » 24 Abr 2018 08:03

O exemplo é com gmail, mas pode ser usado também outra conta de email

Os dados do exemplo são fictícios.

O exemplo é com harbour 3.4

TesteEmail.zip
Teste email
(5.04 MiB) Baixado 34 vezes
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar de usuário

asimoes
Colaborador

Colaborador
 
Mensagens: 4037
Data de registro: 26 Abr 2007 16:48
Cidade/Estado: RIO DE JANEIRO-RJ
Curtiu: 284 vezes
Mens.Curtidas: 197 vezes

email com Harbour

Mensagempor asimoes » 24 Abr 2018 08:09

O meu exemplo deve produzir algo assim:

2018-04-24 08_07_34-.png
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar de usuário

asimoes
Colaborador

Colaborador
 
Mensagens: 4037
Data de registro: 26 Abr 2007 16:48
Cidade/Estado: RIO DE JANEIRO-RJ
Curtiu: 284 vezes
Mens.Curtidas: 197 vezes

email com Harbour

Mensagempor asimoes » 24 Abr 2018 08:27

Atenção para a pasta LIBSSL é a última atualização do Viktor
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar de usuário

asimoes
Colaborador

Colaborador
 
Mensagens: 4037
Data de registro: 26 Abr 2007 16:48
Cidade/Estado: RIO DE JANEIRO-RJ
Curtiu: 284 vezes
Mens.Curtidas: 197 vezes

email com Harbour

Mensagempor asimoes » 24 Abr 2018 09:06

Uma correção do zip postado.

Agora para harbour 3.4 e 3.2 ver a bat de compilação a diretiva -dhb32 para usar a função:

Hb_mimeFName 3.4
tip_FileNameMimeType 3.2
Anexos
TesteEmail.zip
Correção exemplo para harbour 3.2 e 3.4
(5.04 MiB) Baixado 37 vezes
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar de usuário

asimoes
Colaborador

Colaborador
 
Mensagens: 4037
Data de registro: 26 Abr 2007 16:48
Cidade/Estado: RIO DE JANEIRO-RJ
Curtiu: 284 vezes
Mens.Curtidas: 197 vezes

email com Harbour

Mensagempor hazael » 24 Abr 2018 12:20

Obrigado pelo exemplo.

Enxugando eu cheguei a isso:
tip_MailSend( cHost,;
                                      nPorta,;
                                      cAlias,;
                                      aTo,;
                                      aCC,;
                                      aBcc,;
                                      cBodyTemp,;
                                      cAssunto,;
                                      aArquivo,;
                                      cUser,;
                                      cPassword,;
                                      "",;
                                      nPriority,;
                                      lRead,;
                                      .F.,;
                                      .F.,;
                                      nTimeOut,;
                                      NIL,;
                                      .T.,;
                                      lSSL,;
                                      NIL,;
                                      NIL,;
                                      NIL )

Então eu usei os dados da minha conta de email:
   
PROCEDURE Main()
? tip_MailSend( 'servidor.com'                  , ;  // SERVER
                    587                                , ;  // PORT
                   'conta@servidor.com'       , ;  // FROM
                   'conta@servidor.com'       , ;  // TO
                                                       , ;  // CC
                                                       , ;  // BCC
                   'Mensagem teste'                    , ;  // BODY
                   'Assunto teste'                     , ;  // SUBJECT
                   {}                                  , ;  // FILES
                   'conta@servidor.com'       , ;  // POP3 USERNAME
                   'senha'                        , ;  // PASWORD
                   'conta@servidor.com'       , ;  // POP3 USERNAME OR ADDRESS
                   1                                   , ;  // PRIORITY
                   .F.                                 , ;  // READ
                   .T.                                 , ;  // bTRACE (.T.)
                   .T.                                 , ;  // AUTHENTICATION
                                                       , ;  // NO AUTHENTICATION
                                                       , ;  // TIMEOUT
                   'conta@servidor.com'       , ;  // REPLY TO
                                                       , ;  // TLS
                   'senha'                        , ;  // SMTP PASSWORD
                                                       , ;  // CHARSET
                 )                                          // ENCODING

RETURN
Mas aí eu fiz um teste e o resultado foi .F. (ou seja, não enviou)
O teste que fiz é com uma conta normal (não gmail) e os dados acima são apenas para exemplificar.
Tentei algumas configurações diferentes, com autenticação, sem, porta 25, 2525, 465, onde diz POP3 USERNAME OR ADDRESS coloquei também 'servidor.com' mas sempre deu .F.
Também deixei sem senha SMTP, com senha, sem servidor, com servidor, uma combinação de tudo, até agora sempre retorna .F. e não envia emai..
As mesmas configurações no Outlook, Thunderbird or LiveMail dão certo...
Compilei assim: hbmk2 teste.prg hbtip.hbc

O que estava no arquivo TRACE:

20180424-11:44:39  :INETERRORCODE( <pointer> )
>>         64 <<

20180424-11:44:39  :INETSENDALL( <pointer>, 6, QUIT<cr><lf> )
>>         -1 <<

20180424-11:44:39  :INETRECVLINE( <pointer>, , 512 )
>>  <<

20180424-11:44:39  :INETERRORCODE( <pointer> )
>>         -4 <<


Será que eu preciso adicionar mais alguma LIB?
No seu exemplo tem várias libs mas porque usa SSL, certo?
Nunca havia precisado de nada exceto hbtip.hbc mas desde que atualizei o Harbour ficou assim
Harbour | GTWVT | MingW | Visual Studio Code
Avatar de usuário

hazael
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 492
Data de registro: 27 Nov 2016 12:59
Curtiu: 9 vezes
Mens.Curtidas: 35 vezes

email com Harbour

Mensagempor asimoes » 24 Abr 2018 13:25

Não vai funcionar mesmo.

Você precisa das libs ssl pra funcionar, olha o fonte EMAIL_SSL.PRG

Isso:

#if ! defined( __HBSCRIPT__HBSHELL )
REQUEST __HBEXTERN__HBSSL__
#endif

e isso:

IF ! tip_SSL()
RETURN Nil
ENDIF

GMAIL que é o que eu uso precisa de SSL pra autenticar.

O demo.prg tem o exemplo é só substituir os dados da conta, outra coisa precisa compilar com a lib que está na pasta LIBSSL
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar de usuário

asimoes
Colaborador

Colaborador
 
Mensagens: 4037
Data de registro: 26 Abr 2007 16:48
Cidade/Estado: RIO DE JANEIRO-RJ
Curtiu: 284 vezes
Mens.Curtidas: 197 vezes

email com Harbour

Mensagempor hazael » 24 Abr 2018 15:39

Não... isso também não ajudou...
Não preciso de SSL para essa conta de email, é sem nenhuma criptografia, email simples "plain text".
De qualquer maneira experimentei, adicionei o que você disse, compilei com hbmk2 test.prg hbtip.hbc hbcrypto.hbc hbssl.hbc -rebuild e fiz vários testes com várias configurações diferentes.
Não sei o que pode ser, não funciona.
Vou continuar procurando o problema...
De qualquer forma muito obrigado por sua ajuda!
Harbour | GTWVT | MingW | Visual Studio Code
Avatar de usuário

hazael
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 492
Data de registro: 27 Nov 2016 12:59
Curtiu: 9 vezes
Mens.Curtidas: 35 vezes

email com Harbour

Mensagempor asimoes » 24 Abr 2018 16:31

Olá,

qual é o provedor de email ?
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar de usuário

asimoes
Colaborador

Colaborador
 
Mensagens: 4037
Data de registro: 26 Abr 2007 16:48
Cidade/Estado: RIO DE JANEIRO-RJ
Curtiu: 284 vezes
Mens.Curtidas: 197 vezes

email com Harbour

Mensagempor asimoes » 24 Abr 2018 16:43

Isso aqui parece estar errado

'conta@servidor.com' , ; // POP3 USERNAME

Username é o nome do usuário da conta não do email
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar de usuário

asimoes
Colaborador

Colaborador
 
Mensagens: 4037
Data de registro: 26 Abr 2007 16:48
Cidade/Estado: RIO DE JANEIRO-RJ
Curtiu: 284 vezes
Mens.Curtidas: 197 vezes

email com Harbour

Mensagempor hazael » 25 Abr 2018 10:44

Eu tentei mudar o username para somente o nome do usuário. Tentei várias possibilidades:

user@servidor.com
user
mail.servidor.com
servidor.com

Bem, nada funcionou.
Interessante que antes de recompilar com o Harbour atual tudo funcionava...
Creio que pode ser que os parâmetros mudaram, vou ter que garimpar no código original, colocar verificações até traçar onde dá problema e tentar tratar o erro.
Já tentei com outras contas de email, provedores diferentes. A maioria de servidores americanos como HostGator, Lunarpages, Bytehost, etc... padrão POP3/SMTP, porta tradicional 587, 25, 2525, 465 (SSL)
Se achar algo, eu reporto para vocês.
Harbour | GTWVT | MingW | Visual Studio Code
Avatar de usuário

hazael
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 492
Data de registro: 27 Nov 2016 12:59
Curtiu: 9 vezes
Mens.Curtidas: 35 vezes




Retornar para Projeto hbNFe

Quem está online

Usuários vendo este fórum: Nenhum usuário registrado online e 1 visitante


Faça uma doação para o forum
cron
v
Olá visitante, seja bem-vindo ao Fórum Clipper On Line!
Efetue o seu login ou faça o seu Registro