Página 3 de 5

e-mail no harbour 3.2

Enviado: 27 Dez 2018 23:47
por Jairo Maia
Fernando queiroz escreveu:FIZ o anexo dessa forma mas não funcionou, alguém tem exemplo ???
O anexo você está enviando como texto. Tem que ser Array:

Código: Selecionar todos

{"C:\BENE\XML12181111194159000100550010000070421527821207.XML"}, ;

e-mail no harbour 3.2

Enviado: 28 Dez 2018 00:47
por Fernando queiroz
:{ :{ :{ :{
agora funcionou certinho

e-mail no harbour 3.2

Enviado: 28 Dez 2018 14:10
por cjp
Aqui ainda não funcionou. Estou testando assim:

Código: Selecionar todos

if !hb_SendMail( ;
"smtp.gmail.com", ;
Val(cPort), ;
cFrom, ;
dstmail, ;
NIL /* CC */, ;
{} /* BCC */, ;
"teste1", ;
"teste2", ;
{""}, ;
cFrom, ;
cPassword, ;
"", ;
NIL /* nPriority */, ;
NIL /* lRead */, ;
.T. /* lTrace */, ;
.F., ;
NIL /* lNoAuth */, ;
NIL /* nTimeOut */, ;
NIL /* cReplyTo */, ;
iif(cPort=="465",.T.,.F.) /* lSSL */ )
Está retornando falso, mas sem motivo. Estou usando cPort="465". É isso?

e-mail no harbour 3.2

Enviado: 28 Dez 2018 14:13
por rubens
Liberou no Gmail para enviar email por aplicativo menos seguro.. acho que é isso...
Rubens

e-mail no harbour 3.2

Enviado: 28 Dez 2018 14:26
por Fernando queiroz
agora funcionando tudo certinho, muito bom :)) :)) :)) :)) :))

telasgc.jpg
tive de colocar algumas DLL dentro da pasta do programa

libeay32.dll
libgcc_s_sjlj-1.dll
libwinpthread-1.dll
ssleay32.dll


:-Y :-Y :-Y :-Y

e-mail no harbour 3.2

Enviado: 28 Dez 2018 14:29
por Fernando queiroz
Preferi criar uma conta de e-mail para o sistema em vez de usar a conta do cliente, facilita a instalação ficando um padrão
e não precisa ficar configurando toda conta de cliente para liberar programas menos segura e outras coisas, fazendo somente uma vez :-Y :-Y

e-mail no harbour 3.2

Enviado: 28 Dez 2018 14:56
por cjp
Liberou no Gmail para enviar email por aplicativo menos seguro.. acho que é isso...
Rubens
Não sabia que precisava disso. Tentei fazer isto agora, mas não achei nada sobre isso nas configurações do Gmail. Sabe onde fica?

e-mail no harbour 3.2

Enviado: 28 Dez 2018 14:59
por Fernando queiroz
verifiquei que durante o envio ele cria um arquivo de LOG com o nome
SMTP-X.log para cada e-mail enviado eu apago após a confirmação do envio
para não ficar cheio de arquivos dentro da pasta

:P :P :P :P :P

e-mail no harbour 3.2

Enviado: 28 Dez 2018 15:02
por Fernando queiroz
cjp escreveu:
Liberou no Gmail para enviar email por aplicativo menos seguro.. acho que é isso...
Rubens
Não sabia que precisava disso. Tentei fazer isto agora, mas não achei nada sobre isso nas configurações do Gmail. Sabe onde fica?
https://support.google.com/accounts/ans ... 5?hl=pt-BR

e-mail no harbour 3.2

Enviado: 28 Dez 2018 15:06
por cjp
Veja a mensagem que está dando:

O site admin.google.com é apenas para contas do G Suite. Não é possível usar contas do Gmail normais para fazer login em admin.google.com. Saiba mais

e-mail no harbour 3.2

Enviado: 28 Dez 2018 15:21
por Jairo Maia
Fernando queiroz escreveu:verifiquei que durante o envio ele cria um arquivo de LOG com o nome
SMTP-X.log para cada e-mail enviado eu apago após a confirmação do envio
para não ficar cheio de arquivos dentro da pasta
Altera a linha lTrace que está assim:

Código: Selecionar todos

.T. /* lTrace */, ;
Para:

Código: Selecionar todos

.F. /* lTrace */, ;
Isso faz com que o arquivo de Log não seja gerado.

e-mail no harbour 3.2

Enviado: 28 Dez 2018 15:53
por cjp
Curiosamente, o meu está com o trace .T., e mesmo assim não está criando o arquivo de log.

e-mail no harbour 3.2

Enviado: 28 Dez 2018 16:34
por Fernando queiroz
Jairo Maia escreveu:
Fernando queiroz escreveu:verifiquei que durante o envio ele cria um arquivo de LOG com o nome
SMTP-X.log para cada e-mail enviado eu apago após a confirmação do envio
para não ficar cheio de arquivos dentro da pasta
Altera a linha lTrace que está assim:

Código: Selecionar todos

.T. /* lTrace */, ;
Para:

Código: Selecionar todos

.F. /* lTrace */, ;
Isso faz com que o arquivo de Log não seja gerado.
certinho funcionando sem gerar o .LOG

:{ :{ :{

e-mail no harbour 3.2

Enviado: 28 Dez 2018 16:43
por Fernando queiroz

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 Email_Envia( cFrom, cPassword, cTo, cHost, aFilesAttch, cBody, cSubject )

   LOCAL nPort
   LOCAL lSTARTTLS := .F.
   LOCAL lsucesso  := .F.

   IF ! tip_SSL()
      ? "Error: Requires SSL support"
      RETURN
   ENDIF
   hb_default( @cFrom    , "usuario@gmail.com" )
   hb_default( @cPassword, "password"  )
   hb_default( @cTo      , "usuario@hotmail.com" )
   hb_default( @cHost    , "google" )

   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 := "smtp.fastmail.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)", "" )

   lsucesso := tip_MailSend( ;
      cHost, ;
      nPort, ;
      cFrom, ;
      cTo, ;
      NIL /* CC */, ;
      {} /* BCC */, ;
      cBody, ;
      cSubject, ;
      aFilesAttch, ;
      cFrom, ;
      cPassword, ;
      "", ;
      NIL /* nPriority */, ;
      NIL /* lRead */, ;
      .F. /* lTrace */, ;
      .F., ;
      NIL /* lNoAuth */, ;
      NIL /* nTimeOut */, ;
      NIL /* cReplyTo */, ;
      nPort == 465 )

   RETURN lsucesso
código final do email.prg fiz algumas alterações na chamada da rotina

Código: Selecionar todos

			cSubject := "SGC - NOTA FISCAL ELETRONICA NF-E"
			cBody    := "emitida por: " + HB_EOL() +;
									  FLAG->n_xFant+ HB_EOL() +;
			                          FLAG->n_xNome+ HB_EOL() +;
									  "CPF/CNPJ: " + FLAG->n_CNPJ + HB_EOL() +;
									  "NOTA FISCAL ELETRONICA Nr. " + NOTAFE->b_serie + "/" + NOTAFE->b_nNF + HB_EOL() + HB_EOL() +;
			            "para: " + HB_EOL() + ;
						              RTRIM(NOTAFE->e_xNome) + HB_EOL() +;
                                      "CPF/CNPJ: " + RTRIM(NOTAFE->e_CNPJ) + HB_EOL() +;
									  "VALOR: R$ " +  LTRIM(STR(NOTAFE->w_vNF,14,2)) + HB_EOL()+ HB_EOL() +;
						"chave acesso: " + substr(NOTAFE->a_Id,4,44) + HB_EOL()+ HB_EOL() +;
						"Obs: E-mail enviado automaticamente por SGC-SISTEMA DE GESTAO DE COMERCIO, nao responda."
			
			aFilesAttch := {cPrefixo + ".xml",cPrefixo + ".PDF"}
			
			lSucesso := Email_Envia( cFrom, cPassword, cTo, cHost, aFilesAttch, cBody, cSubject )
			IF ! lSucesso
				hwg_MsgInfo("E-MAIL NAO FOI ENVIADO"+ HB_EOL() )
			ELSE
				hwg_MsgInfo("E-MAIL FOI ENVIADO COM SUCESSO"+ HB_EOL() )
			ENDIF

funfando tudo redondinho :D :D :D :D :D

e-mail no harbour 3.2

Enviado: 30 Dez 2018 00:46
por cjp
Tentei desta última forma, mas tá dando erro na compilação: undefined reference to 'hb_func_hwg_msginfo', 'hb_func_tip_mailsend' e 'hb_fun_hbextern__hbssl__'.

Precisa colocar alguma coisa na compilação?

Da forma anterior não funciona? Parecia mais simples.