e-mail no harbour 3.2

Projeto [x]Harbour - Compilador de código aberto compatível com o Clipper.

Moderador: Moderadores

Avatar do usuário
Jairo Maia
Moderador
Moderador
Mensagens: 2785
Registrado em: 16 Ago 2010 13:46
Localização: Campinas-SP

e-mail no harbour 3.2

Mensagem 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"}, ;
Abraços, Jairo
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
Fernando queiroz
Usuário Nível 4
Usuário Nível 4
Mensagens: 779
Registrado em: 13 Nov 2014 00:41
Localização: Porto Alegre/RS

e-mail no harbour 3.2

Mensagem por Fernando queiroz »

:{ :{ :{ :{
agora funcionou certinho
HARBOUR 3.2, HWGUI 2.23 B3, SEFAZCLASS, PDFClass, ADO + MariaDB/MySQL, RMChart
cjp
Usuário Nível 6
Usuário Nível 6
Mensagens: 1563
Registrado em: 19 Nov 2010 22:29
Localização: paraná
Contato:

e-mail no harbour 3.2

Mensagem 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?
Inacio de Carvalho Neto
Avatar do usuário
rubens
Colaborador
Colaborador
Mensagens: 1520
Registrado em: 16 Ago 2003 09:05
Localização: Nova Xavantina - MT

e-mail no harbour 3.2

Mensagem por rubens »

Liberou no Gmail para enviar email por aplicativo menos seguro.. acho que é isso...
Rubens
"Eu e minha casa servimos ao Senhor e você ???"
Fernando queiroz
Usuário Nível 4
Usuário Nível 4
Mensagens: 779
Registrado em: 13 Nov 2014 00:41
Localização: Porto Alegre/RS

e-mail no harbour 3.2

Mensagem 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
HARBOUR 3.2, HWGUI 2.23 B3, SEFAZCLASS, PDFClass, ADO + MariaDB/MySQL, RMChart
Fernando queiroz
Usuário Nível 4
Usuário Nível 4
Mensagens: 779
Registrado em: 13 Nov 2014 00:41
Localização: Porto Alegre/RS

e-mail no harbour 3.2

Mensagem 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
HARBOUR 3.2, HWGUI 2.23 B3, SEFAZCLASS, PDFClass, ADO + MariaDB/MySQL, RMChart
cjp
Usuário Nível 6
Usuário Nível 6
Mensagens: 1563
Registrado em: 19 Nov 2010 22:29
Localização: paraná
Contato:

e-mail no harbour 3.2

Mensagem 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?
Inacio de Carvalho Neto
Fernando queiroz
Usuário Nível 4
Usuário Nível 4
Mensagens: 779
Registrado em: 13 Nov 2014 00:41
Localização: Porto Alegre/RS

e-mail no harbour 3.2

Mensagem 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
HARBOUR 3.2, HWGUI 2.23 B3, SEFAZCLASS, PDFClass, ADO + MariaDB/MySQL, RMChart
Fernando queiroz
Usuário Nível 4
Usuário Nível 4
Mensagens: 779
Registrado em: 13 Nov 2014 00:41
Localização: Porto Alegre/RS

e-mail no harbour 3.2

Mensagem 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
HARBOUR 3.2, HWGUI 2.23 B3, SEFAZCLASS, PDFClass, ADO + MariaDB/MySQL, RMChart
cjp
Usuário Nível 6
Usuário Nível 6
Mensagens: 1563
Registrado em: 19 Nov 2010 22:29
Localização: paraná
Contato:

e-mail no harbour 3.2

Mensagem 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
Inacio de Carvalho Neto
Avatar do usuário
Jairo Maia
Moderador
Moderador
Mensagens: 2785
Registrado em: 16 Ago 2010 13:46
Localização: Campinas-SP

e-mail no harbour 3.2

Mensagem 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.
Abraços, Jairo
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
cjp
Usuário Nível 6
Usuário Nível 6
Mensagens: 1563
Registrado em: 19 Nov 2010 22:29
Localização: paraná
Contato:

e-mail no harbour 3.2

Mensagem por cjp »

Curiosamente, o meu está com o trace .T., e mesmo assim não está criando o arquivo de log.
Inacio de Carvalho Neto
Fernando queiroz
Usuário Nível 4
Usuário Nível 4
Mensagens: 779
Registrado em: 13 Nov 2014 00:41
Localização: Porto Alegre/RS

e-mail no harbour 3.2

Mensagem 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

:{ :{ :{
HARBOUR 3.2, HWGUI 2.23 B3, SEFAZCLASS, PDFClass, ADO + MariaDB/MySQL, RMChart
Fernando queiroz
Usuário Nível 4
Usuário Nível 4
Mensagens: 779
Registrado em: 13 Nov 2014 00:41
Localização: Porto Alegre/RS

e-mail no harbour 3.2

Mensagem 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
HARBOUR 3.2, HWGUI 2.23 B3, SEFAZCLASS, PDFClass, ADO + MariaDB/MySQL, RMChart
cjp
Usuário Nível 6
Usuário Nível 6
Mensagens: 1563
Registrado em: 19 Nov 2010 22:29
Localização: paraná
Contato:

e-mail no harbour 3.2

Mensagem 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.
Inacio de Carvalho Neto
Responder