Página 1 de 1

Como automatizar envio de mails pra Cad. Clientes?

Enviado: 27 Fev 2015 13:42
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

Como automatizar envio de mails pra Cad. Clientes?

Enviado: 28 Fev 2015 10:32
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.

Como automatizar envio de mails pra Cad. Clientes?

Enviado: 28 Fev 2015 13:28
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

Como automatizar envio de mails pra Cad. Clientes?

Enviado: 04 Mar 2015 16:45
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?

Como automatizar envio de mails pra Cad. Clientes?

Enviado: 06 Mar 2015 11:25
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 )

Como automatizar envio de mails pra Cad. Clientes?

Enviado: 06 Mar 2015 17:49
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.

Como automatizar envio de mails pra Cad. Clientes?

Enviado: 07 Mar 2015 09:19
por Jairo Maia
Fernando,

Dê uma olhada neste post do Itamar: HB_sendmail outlook TLS

Como automatizar envio de mails pra Cad. Clientes?

Enviado: 07 Mar 2015 10:46
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.