Página 7 de 9

Email pelo Harbour

Enviado: 09 Fev 2016 17:35
por microvolution
ah! mais uma informação!
descobri que gera um arquivo de log que vai sendo criado individualmente após cada erro que tem por nome:
pop3-1.log, ou pop3-2.log e assim sucessivamente. Mas, o conteúdo é o mesmo. Por favor vejam e analisem o que pode ser:

Código: Selecionar todos

20160209-17:33:42  :INETERRORCODE( <pointer> )
>>          0 <<

20160209-17:33:42  :INETRECVLINE( <pointer>, , 128 )
>>  <<

20160209-17:33:42  :INETERRORCODE( <pointer> )
>>         -4 <<

Email pelo Harbour

Enviado: 09 Fev 2016 18:22
por microvolution
resolvi tirar uma printscreen, vejam por favor:
tela do aplicativo tentando enviar email e sem sucesso.
tela do aplicativo tentando enviar email e sem sucesso.
vlw mais uma vez! :)Pos

Email pelo Harbour

Enviado: 04 Jun 2016 21:28
por janio
aSimoes escreveu:
Pessoal,

Consegui gerar o executável e enviar o email usando Tip_MailSend
Fiz uma modificação que pode ser interessante para quem envia email e no campo De do gerenciador de email apareça somente o nome de quem está enviando e não o email ex.:

Para quem recebe o email ao invés de aparecer meuemail.@gmail.com vai aparecer somente Alexandre

Olhem o parâmetro cAlias

Outra coisa somente as dll : libeay32.dll tem que estar presente na pasta onde roda o executável.

Para gerar a lib hbssl usem este link: http://slproweb.com/products/Win32OpenSSL.html

Escolher o instalador: Win32OpenSSL-1_0_2d.exe

Para compilar o harbour incluir o set:

SET HB_WITH_OPENSSL=C:\OpenSSL-Win32\include

No seu script de compilação incluir:

hbssl.hbc
hbtip.hbc

Pronto deve funcionar, aqui eu consegui.
aSimoes,

Eu uso Harbour 3.2, mas aqui nao tem essa lib "hbssl". Qual harbour vc usa? Se vc tiver essas libs q vc menciona para harbour 3.2, poderia enviar para meu email? (janioaguiar@yahoo.com.br)

Janio

Email pelo Harbour

Enviado: 05 Jun 2016 11:49
por asimoes
Janio,

No momento só a 3.4 fork

Email pelo Harbour

Enviado: 05 Jun 2016 16:38
por janio
ok aSimoes,

O exemplo que vc disponibilizou neste tópico não consegui compilar! Quais libs incluo no hbp para compilar seu exemplo?

Estou usando harbour 3.4, baixei a libeay32.dll, coloquei na pasta do meu sistema, porém não consegui de jeito nenhum enviar email. Sempre retorna f. Nenhum exemplo colocado neste tópico funcionou para mim.

Estão mesmo conseguindo enviar email pela tip_MailSend do harbour3.4?

Janio

Email pelo Harbour

Enviado: 05 Jun 2016 17:06
por asimoes
Janio,

Você vai precisar da hbtip.hbc e hbssl.hbc

as dllps tem que estar presente na pasta do exe

libeay32.dll
libssl32.dll
ssleay32.dll

Link para baixar as dlls

http://slproweb.com/products/Win32OpenSSL.html
Baixe esta última versão do ssl, os exemplos estão na contrib\hbtip
Screen Shot 06-05-16 at 05.05 PM.PNG
Screen Shot 06-05-16 at 05.05 PM.PNG (8.34 KiB) Exibido 9937 vezes

Email pelo Harbour

Enviado: 05 Jun 2016 18:18
por janio
Ok,

Consegui compilar o exemplo que vc postou com:

Código: Selecionar todos

hbmk2 email.prg -gui -gtwvg -lhbwin -lhbct -lhbssl -lhbtip hbssl.hbc hbtip.hbc
Consegui enviar email com sucesso pelo yahoo, gmail e bol. Porém, com o HOTMAIL não foi de maneira alguma. Mandar email pelo HOTMAIL foi justamente o motivo de eu testar o harbour3.4, pq pelo CDO (que uso no harbour3.2), hora funciona com Hotmail, hora não. Mas nem no harbour3.4 com a lib tip funciona! Da pra acreditar num negocio desse???? rsrs

Alguém consegue enviar email pelo Hotmail?

Estou usando as seguintes configurações:
Porta: 25
SMTP: smtp-mail.outlook.com

Janio

Email pelo Harbour

Enviado: 05 Jun 2016 18:44
por Daniel
a porta 25 acho que não funciona
Nome do servidor: smtp-mail.outlook.com
Porta: 587
Método de criptografia: TLS

Email pelo Harbour

Enviado: 05 Jun 2016 19:08
por janio
Fiz um teste pelo ACBr e consegui conexão com o servidor stmp do Hotmail.

SMTP: smtp.live.com (pode ser também smtp-mail.outlook.com)
PORTA: 25
SSL: .f.
TLS: .t. (acho que o pulo do gato é aqui)

Alguém sabe o que esse TLS significa e sabe também se a tip_MailSend tem parâmetro pra isso?

Janio

Email pelo Harbour

Enviado: 05 Jun 2016 19:39
por janio
Pelo exemplo que tem na pasta hbtip (email.prg), da pra entender que ao setar a porta 587 a função automaticamente seta o modo TLS para .t., e seta SSL para .f.!

Para Hotmail era so usar a porta 587 que a função fazia automaticamente o restante das configurações (SSL e TLS). Mas mesmo pelo exemplo da pasta hbtip o email não eh enviado qndo pelo Hotmail. De novo testei por yahoo, bol e gmail e funcionaram. MENOS PELO HOTMAIL!

A não ser que alguém tenha algo mágico por aí, DEFINITIVAMENTE não da pra enviar email pelo HARBOUR com HOTMAIL!
:(Neg

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 , "janio_aguiar@hotmail.com")
	 hb_default( @cPassword, "xxxx" )
	 hb_default( @cTo , "janioaguiar@yahoo.com.br" )
	 hb_default( @cHost , "outlook" )

   cHost := Lower( cHost )

   /* SMTPS works with SSL/TLS on port 465 and with STARTTLS
      on port 587. STARTTLS mode is fully automatic and requires
      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

Email pelo Harbour

Enviado: 05 Jun 2016 19:44
por asimoes
Janio,

Sobre TLS no hb_SendMail

lSSL -> Optional. Need SSL at connect time (TLS need this param set to False)

Email pelo Harbour

Enviado: 05 Jun 2016 19:46
por asimoes
Janio,

Uma pergunta:

Como fica a configuração de

Alias
User
?

Email pelo Harbour

Enviado: 05 Jun 2016 19:48
por janio
Ok aSimoes,

Qndo TLS = .t. (porta 587), o SSL sera igual a .F.! Blz, entendi!

Mas o fato é que email pelo Hotmail não vai!

Janio

Email pelo Harbour

Enviado: 05 Jun 2016 19:51
por asimoes
Janio,

Andei pesquisando, parece ser um bloqueio da microsoft.

Email pelo Harbour

Enviado: 05 Jun 2016 19:58
por janio
Mas no ACBr FUNCIONA! Isso é o que é mais interessante! Se não funcionasse pra ninguém, blz. Mas funciona no ACBr e no Harbour não?!?!?!

E pelo que estou vendo, o ACBr usa também essa dll libeay32! Sem entender...

Outra coisa: pelo CDO também funciona em 90% das vezes. Aqui acolá que não (tbm não sei pq)

Janio