enviar email pelo sistema

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

Moderador: Moderadores

Avatar do usuário
Poka
Usuário Nível 4
Usuário Nível 4
Mensagens: 563
Registrado em: 25 Out 2004 21:26
Localização: Leme/SP

enviar email pelo sistema

Mensagem por Poka »

Boa tarde,

Enviava antes pelo GMAIL, mas parece que não funciona mais, alguém tem alguma dica.


Obrigado Poka
Avatar do usuário
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 7928
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 1 vez

enviar email pelo sistema

Mensagem por Itamar M. Lins Jr. »

Olá!
Ainda usando, sem reclamações... Por enquanto.
tip_MailSend()

Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

enviar email pelo sistema

Mensagem por JoséQuintas »

Poka escreveu:Enviava antes pelo GMAIL, mas parece que não funciona mais, alguém tem alguma dica.
Há alguns meses o gmail mudou o modo de autorizar aplicativo.
Se faz tempo não mexe, provavelmente precisa verificar isso.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
cleitonLC
Usuário Nível 1
Usuário Nível 1
Mensagens: 44
Registrado em: 17 Ago 2021 14:38
Localização: Cariacica/ES

enviar email pelo sistema

Mensagem por cleitonLC »

JoséQuintas escreveu:
Poka escreveu:Enviava antes pelo GMAIL, mas parece que não funciona mais, alguém tem alguma dica.
Há alguns meses o gmail mudou o modo de autorizar aplicativo.
Se faz tempo não mexe, provavelmente precisa verificar isso.
Aqui ainda funciona usando senha de app via curl, usamos harbour no linux.
Avatar do usuário
Poka
Usuário Nível 4
Usuário Nível 4
Mensagens: 563
Registrado em: 25 Out 2004 21:26
Localização: Leme/SP

enviar email pelo sistema

Mensagem por Poka »

Boa noite à todos,


Agradeço imensamente a ajuda de vcs em tentar ajudar, mas sempre tive dificulades nessa parte.
Peguei uma rotina do Rochinha, que tem exemplo com o BLAT e SendMail.
Instalei e testei exaustivamente, consultei na internet, não vai. no SendMail dá que não consegue criar o diretorio, Que diretório é esse?
Gostei do BLAT, mas não consegui tambem.
3 dias só tentando, em vão.
No gmail aqui fiz até VERIFICÇÃO EM
DUAS ETAPAS, criei senha de 16 digitos (vi na internet, que resolvia)
no gmail altera aplicativo menos seguro, não vi mais onde está, parece que foi tirado, depois disso que parou de funcionar, no outlook tambem não vai, não precisa ser propriamente do Gmail, acho que que alguma coisa do Firewal (portas ativei todas), enfim não sei o que é.
Vou ver se consigo com o TIP-mailSend que o Itamar disse, se não der vou ver essa solução do Cleiton.

Obrigado

Poka
Avatar do usuário
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 7928
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 1 vez

enviar email pelo sistema

Mensagem por Itamar M. Lins Jr. »

Olá!
Vou ver se consigo com o TIP-mailSend que o Itamar disse, se não der vou ver essa solução do Cleiton.
É a mesma do Claiton
usando senha de app
Ele usa CURL e eu uso Tip_MailSend()
Tem que ativar no gmail, enviar por celulares por exemplo, ele gera uma senha vc copia e cola a senha no seu .prg
Mas também essa nossa só vai até setembro de 2024.
Screenshot_20240406_200208.png
Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

enviar email pelo sistema

Mensagem por sygecom »

Vou dar meus 2 centavos de contribuição.
Se não quer se incomodar com e-mail use algum serviço como SENDGRID ou AWS SES, você consome via API e, nunca mais vai ter problemas com e-mail.
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
Avatar do usuário
Poka
Usuário Nível 4
Usuário Nível 4
Mensagens: 563
Registrado em: 25 Out 2004 21:26
Localização: Leme/SP

enviar email pelo sistema

Mensagem por Poka »

Boa Noite,
Ufa!!!
Funcionando corretamente agora

Itamar, Quintas, realmente erra fazer aprovação em dois passos e gerar a senha do APP.

Sygecom, SendGrid e AWS são pagos? parece que vai parar em setembro essa senha também, mas deixei anotado aqui. Tenho meia dúzia de clientes só, Já tive bem mais.

Obrigado a todos.


Poka
Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

enviar email pelo sistema

Mensagem por sygecom »

Poka escreveu:Boa Noite,
Ufa!!!
Funcionando corretamente agora

Itamar, Quintas, realmente erra fazer aprovação em dois passos e gerar a senha do APP.

Sygecom, SendGrid e AWS são pagos? parece que vai parar em setembro essa senha também, mas deixei anotado aqui. Tenho meia dúzia de clientes só, Já tive bem mais.

Obrigado a todos.


Poka
Sim, é pago mestre
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

enviar email pelo sistema

Mensagem por JoséQuintas »

Existe o plano B.

Tem domínio ?

Cria um ou mais emails com o nome aplicativo@seudominio ou cliente@seudominio e use, pra não depender do cliente.
Além de resolver o cliente, ainda faz propaganda do seu aplicativo.
Não deixa de ser uma opção, temporária ou definitiva.

Tem cliente que muda a senha do email, esquecendo que o aplicativo também usa.
E tem destinatário que responde, mesmo colocando que não é pra usar pra mensagens, fazer o que....
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
cleitonLC
Usuário Nível 1
Usuário Nível 1
Mensagens: 44
Registrado em: 17 Ago 2021 14:38
Localização: Cariacica/ES

enviar email pelo sistema

Mensagem por cleitonLC »

Itamar M. Lins Jr. escreveu:Olá!
Vou ver se consigo com o TIP-mailSend que o Itamar disse, se não der vou ver essa solução do Cleiton.
É a mesma do Claiton
usando senha de app
Ele usa CURL e eu uso Tip_MailSend()
Tem que ativar no gmail, enviar por celulares por exemplo, ele gera uma senha vc copia e cola a senha no seu .prg
Mas também essa nossa só vai até setembro de 2024.
Screenshot_20240406_200208.png
Saudações,
Itamar M. Lins Jr.
Em setembro tudo deve parar de novo, por isso estou já trabalhando em uma forma de usar a api do gmail com harbour, aqui vou usar hb_curl.
O problema todo é que pelo menos 1 vez vai ter que abrir o navegador para autenticar no google e liberar o app para poder enviar emails, mas
depois tudo funciona pelo refresh_token, já fiz em python e agora vou tratar isso em harbour.
Avatar do usuário
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 7928
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 1 vez

enviar email pelo sistema

Mensagem por Itamar M. Lins Jr. »

Olá!
Vou testar alguma coisa da Rússia, China... Algo que não precise disso.
Ou algum outro aqui do Brasil que seja mais simples.

Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
cleitonLC
Usuário Nível 1
Usuário Nível 1
Mensagens: 44
Registrado em: 17 Ago 2021 14:38
Localização: Cariacica/ES

enviar email pelo sistema

Mensagem por cleitonLC »

Existe essa API também https://resend.com/ parece ter um plano gratuito que pode atender pequenos negócios.
Avatar do usuário
clodoaldomonteiro
Usuário Nível 4
Usuário Nível 4
Mensagens: 821
Registrado em: 30 Dez 2006 13:17
Localização: Teresina-PI
Contato:

enviar email pelo sistema

Mensagem por clodoaldomonteiro »

Bom, eu envio normalmente pelo Gmail, num sistema de notas eletrônica para prefeituras, uso uma conta com nao-responda própria.
Como uso o Windows, optei por usar o objeto CDO "Chief Data Officer, (Diretor Executivo de Dados)" que vem no windows, configuro ele e foi.
Exemplo em xHarbour:

Código: Selecionar todos

////////////////////////////////////////////////////////////////////////////////
//https://pctoledo.org/forum/viewtopic.php?f=4&t=10764&start=30
//https://pctoledo.org/forum/viewtopic.php?f=2&t=16294&start=15
//http://fivewin.com.br/index.php?/topic/26829-erro-ao-enviar-e-mail-via-cdomessage-e-gmail/#comment-278073
//https://www.google.com/settings/security/lesssecureapps
//https://www.usandoaccess.com.br/tutoriais/enviar-email-usando-o-cdosys.asp
//https://www.locaweb.com.br/ajuda/wiki/tudo-sobre-o-cdosys-hospedagem-de-sites/
////////////////////////////////////////////////////////////////////////////////
#pragma -w0
#pragma -es0

#include "GAS.CH"
**********************************************************************************************************************
FUNCTION Envia_email(aFiles,cSubject,cDest,cMsg,cServerIp,cFrom,cUser,cPass,vPORTSMTP,cCC,cBCC,vEMAIL_CONF,wSSL_EMAIL)
   **********************************************************************************************************************
   Local lRet := .f.
   Local oCfg, oError, oMsg
   Local lAut := .t.

   TRY
      oCfg := CREATEOBJECT( "CDO.Configuration" )

      WITH OBJECT oCfg:Fields
         :Item( "http://schemas.microsoft.com/cdo/configuration/smtpserver"             ):Value := cServerIp   //server SMTP
         :Item( "http://schemas.microsoft.com/cdo/configuration/smtpserverport"         ):Value := vPORTSMTP   //587
         :Item( "http://schemas.microsoft.com/cdo/configuration/sendusing"              ):Value := 2           // Remote SMTP = 2, local = 1
         :Item( "http://schemas.microsoft.com/cdo/configuration/smtpauthenticate"       ):Value := 1           //
         :Item( "http://schemas.microsoft.com/cdo/configuration/smtpusessl"             ):Value := .f.         //wSSL_EMAIL  // .F. Ou .T.
         :Item( "http://schemas.microsoft.com/cdo/configuration/sendusername"           ):Value := AlLTrim(cUser)
         :Item( "http://schemas.microsoft.com/cdo/configuration/sendpassword"           ):Value := AlLTrim(cPass)
         :Item( "http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout"  ):Value := 60
         :Update()
      END WITH

      lRet := .t.

   CATCH oError
      MsgError( "Não Foi possível Enviar o e-Mail!"   + HB_OsNewLine() +  ;
       "Error: "     + Transform(oError:GenCode,   nil) + ";"  + HB_OsNewLine() +  ;
       "SubC: "      + Transform(oError:SubCode,   nil) + ";"  + HB_OsNewLine() +  ;
       "OSCode: "    + Transform(oError:OsCode,    nil) + ";"  + HB_OsNewLine() +  ;
       "SubSystem: " + Transform(oError:SubSystem, nil) + ";"  + HB_OsNewLine() +  ;
       "Mensaje: "   + oError:Description, "Atenção" )

   END

   If lRet
      TRY
         oMsg := CREATEOBJECT ( "CDO.Message" )
         WITH OBJECT oMsg
            :Configuration = oCfg
            :From    = cUser //cFrom
            :Sender  = cUser
            :To      = cDest
            :Subject = cSubject
            :TextBody = cMsg

            For x := 1 To Len( aFiles )
               :AddAttachment(AlLTrim(aFiles[x]))
            Next

            :MDNRequested := .T.               // Requiere respuesta
            :DSNOptions   := 14                //Return a DSN if delivery succeeds, fails, or is delayed.

            //:Fields( "urn:schemas:mailheader:disposition-notification-to" ):Value  := cFrom //'retorno@simplesinformatica.com.br'
            //:Fields( "urn:schemas:mailheader:return-receipt-to" ):Value            := cFrom //'retorno@simplesinformatica.com.br'
            :Fields( "urn:schemas:httpmail:importance" ):Value                     := '2'
            :Fields:update()

            :Send()
         END WITH

         lRet := .t.

      CATCH oError
         msg := 'Não Foi Possível Enviar a Mensagem: "' + cSubject + '"' + CRLF
         msg += 'Verifique se existe conexão com a Internet.' + CRLF
         msg += "Destinatário.: " + cDest                     + CRLF
         msg += "Error.:     "  + Str( oError:GenCode)        + CRLF
         msg += "SubC.:      "  + Str( oError:SubCode )       + CRLF
         msg += "OSCode.:    "  + Str( oError:OsCode )        + CRLF
         msg += "SubSystem.: "  + oError:SubSystem            + CRLF
         msg += "Mensagem.:  "  + oError:Description          + CRLF
         msg += "Operação.: ["  + oError:Operation + "]"      + CRLF

         mArgs := oError:Args
         msg += "Argumento: " + Valtype(mArgs) + '['  + AlLTrim(Str(Len(mArgs))) +  ']' + CRLF

         If Valtype(mArgs) = 'C'
            msg += "Argumento: [" + mArgs + "]"

         ElseIf Valtype(mArgs) = 'A'
            For i := 1 To Len(mArgs)
               msg += Str(i, 1) + " [" + mArgs[i] + "]"  + CRLF
            Next
         EndIf

         MsgAtencao( msg )

         lRet := .f.
      END

   EndIf

   oCfg := NIL
   oMsg := NIL
   
   Return lRet

Abraços..
At. Clodoaldo Monteiro
Linguagens: Clipper / Harbour
Área de Atuação: Sistemas de gestão para Prefeituras Municipais
Fones: (86)3223-0653, 98859-0236
www.simplesinformatica.com.br
Avatar do usuário
Poka
Usuário Nível 4
Usuário Nível 4
Mensagens: 563
Registrado em: 25 Out 2004 21:26
Localização: Leme/SP

enviar email pelo sistema

Mensagem por Poka »

Olá,

problemas novamente com email.
Já parou há alguns meses, tenho só 5 cliente. e quando precisa no final do mes eu mesmo faço manualmente, no meu computador também não consigo enviar mais, teve alguma mudança nos ultimos mseses?

O meu é gmail, tentei com , aquel senha de 16 digitos ainda esta valendo?, é só no gmail que precisa dessa senha, outros email precisa também?

Outro problema 1 cliente que o sistema faz coletas de ossos, cada 15 dias envia email para para todos, lá não é gmail, mas sempre funcionou, parou há pouco tempo, mas era a senha do email que tinha mudado, colocou correto voltou a funcionar. semana passada formatou o computador e não funcionou mais, a senha não mudou, conforme o usuário disse. Lá não tem como fazer manualmente, são +- 500 fornecedores para enviar.

Outra pergunta, estava dando uma olhada, em html parece que dá para enviar, mas só texto ( é isso mesmo?, aquivo anexo não?).
Me parece que usando PHP dá para anexar?, só com html não dá?

Se fizer em html + php acaba essas frescuras dos emails?
Com html + php dá para enviar 500 só de uma vez? , pois parece que o html chama p emai do computador do ususario e o usuário confirma, aí tambem não tem problema, não fica automatico como está agora, mas acho que ninguem vai reclamar, o que não dá é essas dores de cabeça com email.
Alguém com mais experiência, poderia dar uma orientação?

Obs, não precisa ser o GMAIL ( me parece que esse é o que mais enche o saco)

Agradecido

Poka
Responder