Como enviar boletos automáticos pelas GAS 1 – Faça o

Transcrição

Como enviar boletos automáticos pelas GAS 1 – Faça o
Como enviar boletos automáticos pelas GAS
1 – Faça o download da biblioteca a CDO.dll e regitre-a.
2 – Crie um arquivo de parâmetros para configurar os servidores,
3 – Para você poder gerar os boletos terá que ser feito através de um PPD. No meu caso eu gero
boletos para alunos. Eu escolho gerar boletos para todos os alunos matriculados ou apenas
aqueles pais que optaram em receber por email. Também criei uma tabela com os emails da
escola do setor de tesouraria. Antes de enviar os email verifique as configurações de Firewall.
4 – No botão de Enviar Emails do formulário acima tem a chamada de um PPD onde eu gero
os boletos em arquivo em uma determinada pasta.
5 – Como fazer para que o seu relatório de boletos gere os boletos em .jpg ? No meu caso
Eu gero cada boleto em .jpg com o número da matrícula do aluno <nº matrícula> 1.jpg
em um PPD onde leio os alunos e chamo a função abaixo.
Private Function Frm_0100F9(Mes_competencia As Integer) As Double ' {* Apelidos *} 2779
Dim Pasta_boletos As String
On Error Resume Next
Frm_0100F9 = 0 'Deve retornar um número
Pasta_boletos = "C:\Escolar_plus\Email\" + LTrim(str(Email_marketing![Email ano escolhido])) + "\" +
Rtrim(Email_marketing![Email mês escolhido]) + "\"
MkDir "C:\Escolar_plus\"
MkDir "C:\Escolar_plus\Email"
MkDir "C:\Escolar_plus\Email\" + LTrim(str(Email_marketing![Email ano escolhido])) + "\"
MkDir Pasta_boletos
Kill Pasta_boletos & LPad(str(Emails_para_enviar_b![Email matrícula]), 6, "0") & " 1.jpg"
Load frmRel02780
frmRel02780.C_ano_a_imprimir.Text = Email_marketing![Email ano escolhido]
frmRel02780.C_parcela_a_imprimir.Text = Mes_competencia
frmRel02780.C_matricula_a_imprimir.Text = Emails_para_enviar_b![Email matrícula]
frmRel02780.ProssegueExecucao frmRel02780.vgFP.picAux, 0, G_EXPORTA_JPG, Pasta_boletos &
LPad(str(Emails_para_enviar_b![Email matrícula]), 6, "0") & ".jpg", False
UnLoad frmRel02780
Arq_boletos_para_anexar = Pasta_boletos & LPad(str(Emails_para_enviar_b![Email matrícula]), 6, "0") & " 1.jpg"
End Function
O relatório criado em G-Report para a emissão dos boletos tem em sua tela de abertura o Ano, a parcela para ser
Impressa e a matrícula do aluno. Estes campos devem fazer parte do Filtro inicial.
Neste PPD gero uma tabela com as matrículas geradas, o email do aluno e o caminho do boletos
(Arq_boletos_para_anexar).
5 – Pronto agora basta ler essa tabela e chamar a função EnviarEmail na continuação de seu PPD.
Private Sub EnviarEmail()
Dim objMail As Object
Set objMail = CreateObject("CDO.Message")
objMail.from = Email_marketing![Email user Name] == email do usuário
objMail.To = Emails_para_enviar![Email to] == email do aluno
objMail.Subject = Email_marketing![Email assunto] == assunto da mensagem
objMail.TextBody = Email_marketing![Email texto] == texto da mensagem
'Anexos
If Not Vazio(Emails_para_enviar![Email anexar arquivo]) Then
objMail.AddAttachment (Emails_para_enviar![Email anexar arquivo]) == caminho do boleto gerado
End If
' === Configurações necessárias ====
'Porta do componente: == definido nos parâmetros
objMail.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/sendusing") = Email_marketing![Email send Using]
'Endereço do servidor SMTP == definido nos parâmetros
objMail.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/smtpserver") = Email_marketing![Email server]
'Porta utilizada pelo servidor SMTP == definido nos parâmetros
objMail.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = Email_marketing![Email server Port]
'Tipo de autenticação == definido nos parâmetros
objMail.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = Email_marketing![Email authenticate]
objMail.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 30
objMail.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = Email_marketing![Email utiliza conexão segura]
'Endereço completo de uma das contas de email do domínio
objMail.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/sendusername") = Email_marketing![Email user Name]
'Senha da conta especificada acima
objMail.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/sendpassword") = Email_marketing![Email password]
objMail.Configuration.Fields.Update 'Atualiza configurações
' === Fim do trecho de configuração ===
On Error Resume Next 'Ativa captura de erros
objMail.send 'Envia a mensagem
frmFrm02773.C_email_enviado_para.Text = Emails_para_enviar![Email to]
== mostra na tela cada email que está sendo enviado
Sleep (2000)
'Caso ocorram erros... == se houver erros vc cria a sua situação. Eu marco que o email não foi enviado na tabela de
emails a serem enviados e depois tento enviar novamente
If Err <> 0 Then
Email_erro = 1
Houve_erro = 1
End If
Set objMail = Nothing 'Remove o objeto da memória
End Sub

Documentos relacionados