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