Clipper On Line • Ver Tópico - e-mail no harbour 3.2
Mudar para estilo Clássico
Projeto Harbour - Compilador de código aberto compatível com o Clipper.
Postar uma resposta

e-mail no harbour 3.2

22 Jul 2015 09:52

Testei diversos exemplos de envio de e-mail pelo harbour sem sucesso. Tenho usado a classe CDO que começou a dar problemas. Gostaria de saber se alguém tem um exemplo que funcione no harbour 3.2.

Obrigado.

e-mail no harbour 3.2

22 Jul 2015 10:16

Convém alertar duas coisas:
- Pode ter diferença entre o Harbour 3.2 e 3.4
- Com o Harbour padrão, somente contas de mail sem conexão segura (gmail por exemplo não dá).
Pra esse tipo de email, precisaria gerar o Harbour com a libcurl.

Sobre o CDO:
É problema com qualquer email, ou somente alguns?
Convém lembrar que a porta padrão deixou de ser 25, e ainda tem provedor/programa não atualizado.
A correta é 587.

Só olhar a pasta da hbtip.
Trata-se de uma única função.
Sendmail, ou algo assim. no 3.4 é tip_MailSend()

e-mail no harbour 3.2

22 Jul 2015 10:29

Ola!
Com o Harbour padrão, somente contas de mail sem conexão segura (gmail por exemplo não dá).

Quando eu usava o 3.2 o único que não funcionava era o hotmail.com/outlook, o gmail.com ia de boa e o yahoo também.

Agora depois das correções, eu não testei mais, mas acredito que todos funcionem.

Saudações,
Itamar M. Lins Jr.

e-mail no harbour 3.2

22 Jul 2015 10:58

José,

Então está aí o problema. O provedor exige conexão segura, é gmail, a porta é 465.

No CDO, está apresentando erro em uma máquina, vou verificar.

Obrigado.

e-mail no harbour 3.2

22 Jul 2015 11:35

Eu envio email atraves do CDO pelo gmail sem problema!

Detalhe importante: ha uma configuração na conta de email do gmail que deve ser marcada para permissão de ENVIO de email por "fonte nao segura"... tipo isso. Não lembro direito o nome da configuração, mas é só marcar la q funciona direitinho.

e-mail no harbour 3.2

22 Jul 2015 12:16

A porta eh 465.

Em configurações da conta, em segurança, procurar "Desativar acesso a apps menos seguros" -> marcar ATIVAR!

Janio

e-mail no harbour 3.2

23 Jul 2015 00:13

no CDO se a Dll padrão não estiver registrada no Windows (ocorreu comigo em 1 cliente apenas q tinha um servidor 2003) da erro ao tentar enviar

Ai depois de muito pensei q se fosse erro no sistema daria em outras maquinas então comecei as pesquisas a nível de SO x CDOSys e pensei em mandar registrar a Dll novamente... Deu certo.

e-mail no harbour 3.2

23 Jul 2015 16:37

Meus amigos,

Preciso da ajuda de vocês para usar a hb_sendmail() com e-mail do Gmail. Eu já uso com outros e-mails, mas no Gmail não está funcionando. Estou tentando assim:

Código:
hb_sendmail("smtp.gmail.com",465,"prof.inaciodecarvalho@gmail.com",{dstmail+"@inaciocarvalho.com.br"},,,memoread(arqmand)+ansi(contmail),assmail,arqanx,"prof.inaciodecarvalho@gmail.com","minhasenha","pop.gmail.com",,,.T.,.t.,,,)


As variáveis estão todas corretas, funcionam exatamente assim com outro e-mail. Mudei apenas o smtp, o 465, o meu e-mail de envio, minha senha e o pop.

Detalhe: com estas configurações, eu consegui conferir essa mesma conta do Gmail no Outlook 2010.

Eu creio que o problema seja porque o Gmail exige SSL, o que não é exigido no meu provedor do outro e-mail. Mas eu não sei como alterar isso na hb_sendmail().

Alguém poderia me ajudar?

e-mail no harbour 3.2

23 Jul 2015 18:22

Ola!
Bem, estou colocando o exemplo que tem na pasta contrib do harbour 3.2, no 3.4 é bem mais completo, tem mais exemplos.
Este exemplo esta na pasta do Harbour 3.2 \contrib\hbtip\tests\gmail.prg

Código:
/*
* 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
   


Saudações,
Itamar M. Lins Jr.

e-mail no harbour 3.2

03 Ago 2015 17:03

Tentei de todas as formas, mas ainda não funcionou.

Ele até retorna .t., aparentemente envia. Mas o destinatário não recebe o e-mail. Já testei com vários e-mails de destino (todos os que tenho).

e-mail no harbour 3.2

03 Ago 2015 18:42

Lembro disso acontecer no próprio outlook caso não tivesse autenticação extra de usuário.
Nesse caso só funcionava e-mails dentro do próprio domínio, tipo entre funcionários da mesma empresa com mesma extensão de email.

Quanto a gmail, na última vez que vi precisava da libcurl pra funcionar.
Não tenho libcurl instalada, e aproveitei um exemplo da pasta hbtip, inclusive postado acima pelo Itamar:

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


Então fiz este teste:

Código:
procedure main
   ? tip_ssl()


Resultado:
.F.

e-mail no harbour 3.2

03 Ago 2015 19:09

Sim, Quintas, mas observe que o exemplo do Itamar, acima, já faz essa verificação. Está passando da verificação, não está dando falso. Mas mesmo assim o destinatário não recebe o e-mail.

e-mail no harbour 3.2

03 Ago 2015 19:30

Fez teste pra outros destinatários?
Conferiu se precisa autenticação extra?
Conferiu na conta no gmail, na internet, se está configurado pra enviar e-mails por programa externo?

No mais, vai ter que confirmar quem com usa gmail no Harbour.
Por enquanto ainda não uso, e ainda não tentei gerar Harbour com libcurl.
Por acaso fazendo isso fica dependente de DLL?

e-mail no harbour 3.2

04 Ago 2015 00:59

Fiz o teste para todos os destinatários que eu poderia.

Que autenticação extra seria essa?

No Outlook está configurado assim:

Imagem

Configurar o gmail para usar programa externo? Como seria isso? Tentei achar alguma configuração no gmail, mas não achei.

e-mail no harbour 3.2

04 Ago 2015 08:43

No outllook express ficava visível: tinha que marcar pra autenticar usuário.
Talvez seja o equivalente a autenticar pop3.

Pensando bem, como o exemplo da pasta tests inclui exemplo pra gmail, não deveria precisar de nada mais além do que está lá.
Se for Harbour 3.4 é a que foi postada, se for Harbour 3.2 precisa olhar lá na pasta.
Postar uma resposta