Enviando e-mail através de rotinas

Olá pessoal,

Segue um fonte que encontrei na net bem simples para envio de e-mail atraveś do Protheus

O envio de e-mails pelo Protheus é algo bem simples, desde que todas as informações necessárias tenham sida registradas nos parametros corretamente.

1) O usuário de ter o e-mail configurado na cadastro de usuarios (SIGACFG).

2) Configurar o parâmetro MV_RELSERV com o endereço SMTP do servidor de e-mails da empresa

3) Na finalização do atendimento informar a conta e a senha do usuario no servidor de e-mails.

Ex: Conta: “admin@empresa.com.br”

Senha: “1234″

Segue abaixo uma função bem simples para envio:

[sourcecode]
#include “protheus.ch”
#include “apwebsrv.ch”
#include “apwebex.ch”
#include “ap5mail.ch”

User function enviar(cMailDe,cMailPara,cAssunto,cCorpo)

local cServer := getMV(‘MV_RELSERV’) //endereço SMTP
local lAutentic := getMV(‘MV_RELAUTH’) //utilize em caso de necessidade de autenticação
local cAccount := getmv(‘MV_RELACNT’) //conta
local cPassword := getMV(‘MV_RELAPSW’) //senha
LOcal cQL := CHR(13) + CHR(10)
local cRemoteip := Getclientip()
local cRemoteComputer := GetComputerName()
local lConectou := .f.

// conecta com o servidor de e-mail
CONNECT SMTP SERVER cServer ACCOUNT cAccount PASSWORD cPassword Result lConectou

mailAuth(cAccount, cPassword)

If lConectou
cCorpo += cQL + cQL + “===========================================================”
cCorpo += cQL + ” Enviado por: ” + cUsername
cCorpo += cQL + ” Computador: ” + cRemoteComputer
cCorpo += cQL + ” IP: ” + cRemoteip
cCorpo += cQL + “===========================================================”

SEND MAIL FROM cMailDe TO cMailPara SUBJECT cAssunto BODY cCorpo FORMAT TEXT RESULT lEnviado
if !lEnviado
alert(“ALERTA: Não foi possivel enviar a mensagem”) //, pois ocorreu o seguinte erro: ” + sMensagem + “.”)
else
alert(“E-mail transmitido com sucesso para ” + cMailPara +”!”)
endif
else
alert(“Não foi possivel executar sua solicitação, pois não houve resposta do servidor de e-mail.”+cQL+cQL+”Informe ao Administrador do Sistema!”)
return .f.
Endif

DISCONNECT SMTP SERVER Result lDisConectou

Return
[/sourcecode]

Chamando sua função:

[sourcecode]
cMailDe := “remetente@dominio.com.br”
cMailPara:= “destinatario@dominio.com.br”
cAssunto := “Envio de mensagem via Protheus”
cCorpo := “Digite sua mensagem que será enviada.”
Processa({ || u_enviar(cMailDe,cMailPara,cAssunto,cCorpo)},”[FA040GRV] – AGUARDE”)
[/sourcecode]

Fonte: http://advpl.inovese.com/

Fica ai a dica…



2 Comments

Leave a Reply

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="">

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.