Como automatizar envio de mails pra Cad. Clientes?

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

Moderador: Moderadores

lugab
Colaborador
Colaborador
Mensagens: 843
Registrado em: 19 Mai 2009 15:58

Como automatizar envio de mails pra Cad. Clientes?

Mensagem por lugab »

Então, colegas, preciso de sugestõess...

Eu tenho um DBF com nome e email dos clientes e a relação dos títulos vencidos e não pagos.

Gostaria de enviar por email uma Cartinha padrão pra cada um desses clientes, listando o título, a data de vencimento e o valor em aberto...

Qual provedor grátis é mais fácil de usar ? Qual rotina do harbour (ou externa) é mais seguro pra usar ? Como fazer essa cartinha padrão ?

Enfim, quais procedimentos vcs me recomendam usar ?

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

Como automatizar envio de mails pra Cad. Clientes?

Mensagem por Jairo Maia »

Olá lugab,

O que você quer é perfeitamente possível, uso isso para várias coisas. Uso textos padrões em html para aviso de fatura vencida, recobrança e aviso de suspensão. Também quando é o caso monto em html boletins de interesse por seguimento, como notícias fiscais, etc., e faço o envio automático usando Hb_SendMail(), e funciona muito bem.
lugab escreveu:Eu tenho um DBF com nome e email dos clientes e a relação dos títulos vencidos e não pagos.
Como é o nome das variáveis dos campos nome, email, número do titulo, data do vencimento, valor, e como você checa para saber que está em aberto? No meu caso, checo pela data de vencimento e se o campo data que pagou estiver vazio, esse é o caso.
lugab escreveu:Qual provedor grátis é mais fácil de usar ?
Não uso email gratuito, uso meu email institucional, mas por leitura e indicação de outros colegas, sei que o GMail é mais fácil de trabalhar. Não sei o limite de envios como funciona no GMail.

Penso que é possível ajudar dando alguma ideia com base no que tenho, mas informe os campos pra facilitar.
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)
lugab
Colaborador
Colaborador
Mensagens: 843
Registrado em: 19 Mai 2009 15:58

Como automatizar envio de mails pra Cad. Clientes?

Mensagem por lugab »

Oi, Jairoo, vamos lá.....
Como é o nome das variáveis dos campos nome, email, número do titulo, data do vencimento, valor, e como você checa para saber que está em aberto? No meu caso, checo pela data de vencimento e se o campo data que pagou estiver vazio, esse é o caso.
Ainda nao gerei esse DBF, então poderei gerar ele com os campos : nome, dtvenc,email,valor....

Tb farei a seleção pela data de vencimento e data pagamento, recusando os títulos já pagos

Acabei de criar uma conta no Gmail pra experimentar sua colaboração, é: camgabros@gmail.com

Grato, Jairo
lugab
Softwhouse
Usuário Nível 3
Usuário Nível 3
Mensagens: 324
Registrado em: 07 Dez 2011 18:44
Localização: Porto Alegre/RS

Como automatizar envio de mails pra Cad. Clientes?

Mensagem por Softwhouse »

Jairo,

Vc teria um exemplo de uso da função hb_SendMail()? Nunca conseguí fazer funcionar. Uso a classe CDO mas acho demorado o envio. Tem alguma coisa mais rápida?
Fernando
Avatar do usuário
Jairo Maia
Moderador
Moderador
Mensagens: 2785
Registrado em: 16 Ago 2010 13:46
Localização: Campinas-SP

Como automatizar envio de mails pra Cad. Clientes?

Mensagem por Jairo Maia »

Olá Fernando,

Uso a HB_SendMail() com email institucional. Se for usar com email gratuitos, atente para as opções: lPopAuth, lNoAuth e principalmente a lTLS:

Código: Selecionar todos

FuncTion Main()

  Local Result
  Local cServer   := ""       // coloque aqui seu provedor: mail.xxxx.com.br
  Local nPort     := 587
  Local cFrom     := ""       // coloque aqui seu eamil: xxx@provedor.com.br
  Local xTo       := ""       // coloque aqui o email destino
  Local xCC       := NIL
  Local xBCC      := {}
  Local cSubject  := "E-Mail enviado pela hb_sendmail"
  Local cBody     := "Email enviado pela hb_sendMail em: "+Tran( Date(), "@E" )+" - "+Time()
  Local aFiles    := {}
  Local cUser     := cFrom
  Local cPass     := ""       // coloque aqui sua senha
  Local cPopServer:= NIL
  Local nPriority := 3
  Local lRead     := .F.
  Local bTrace    := .F.
  Local lPopAuth  := .T.
  Local lNoAuth   := .F.
  Local nTimeOut  := NIL
  Local cReplyTo  := NIL
  Local lTLS      := .F.
  Local cSMTPPass := cPass    // novamente sua senha
  
  Result := hb_SendMail( cServer,;     // servidor do email: mail.servidor.com.br
                         nPort,;       // porta: 587
                         cFrom,;       // seu email
                         xTo,;         // email destino
                         xCC,;         // com cópia
                         xBCC,;        // cópia oculta
                         cBody,;       // corpo do email (texto, ou arquivo .txt ou html)
                         cSubject,;    // assunto
                         aFiles,;      // matriz com o(s) arquivo(s) anexo(s)
                         cUser,;       // novamente seu email (cFrom)
                         cPass,;       // sua senha
                         cPopServer,;  // nunca usei
                         nPriority,;   // prioridade normal = 3
                         lRead,;       // confirma leitura
                         bTrace,;      // log do caminho usado pela função
                         lPopAuth,;    // autenticar: .T.
                         lNoAuth,;     // .F.
                         nTimeOut,;    // tempo de tentaiva para se conectar
                         cReplyTo,;    // responder para qual email (Nil = cFrom)
                         lTLS,;        // requer TLS?
                         cSMTPPass )   // sua senha = cPass
  
  If( Result, Hb_Alert("E-Mail enviado"), Hb_Alert("Erro ao Enviar o E-Mail") )

Return ( Result )
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)
Softwhouse
Usuário Nível 3
Usuário Nível 3
Mensagens: 324
Registrado em: 07 Dez 2011 18:44
Localização: Porto Alegre/RS

Como automatizar envio de mails pra Cad. Clientes?

Mensagem por Softwhouse »

Jairo,

Obrigado pelo exemplo, mas não consegui fazer funcionar. Se coloco lTLS= .T. dá a seguinte mensagem de erro:

Error BASE/1081
Operation not supported: TIPCLIENTSMTP:new()

O provedor é SMPT.GMAIL.COM e a porta 465.

Usando CDO funciona perfeitamente, até no IG.
Fernando
Avatar do usuário
Jairo Maia
Moderador
Moderador
Mensagens: 2785
Registrado em: 16 Ago 2010 13:46
Localização: Campinas-SP

Como automatizar envio de mails pra Cad. Clientes?

Mensagem por Jairo Maia »

Fernando,

Dê uma olhada neste post do Itamar: HB_sendmail outlook TLS
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)
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Como automatizar envio de mails pra Cad. Clientes?

Mensagem por JoséQuintas »

Antes de mais nada dê uma confirmada.
Justamente depois das alterações de 29/01 aqui parou de enviar email.
Já reportei o bug no Harbour, e reverti o meu pra antes dessa data.
Se estiver tentando num Harbour com essas alterações, pode não conseguir.

Quanto a email, um dos que estou usando é do terra.com.br
Mas se o cliente tiver email disponível, uso o dele.

Só pra ficar anotado, pra voltar atrás em atualizações, é este comando:

Código: Selecionar todos

git checkout master~72
só indicar quantas alterações vai voltar atrás.
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/
Responder