Projeto Harbour - Compilador de código aberto compatível com o Clipper.
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.
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()
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.
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.
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.
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
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.
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?
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.
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).
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.
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.
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?
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:
Configurar o gmail para usar programa externo? Como seria isso? Tentei achar alguma configuração no gmail, mas não achei.
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.
Powered by phpBB © phpBB Group.
phpBB Mobile / SEO by Artodia.