Exemplo de Envio de E-mail
Através da classe SysLibMail fica muito fácil enviar e-mails pelo Protheus.
user function MailSample()
local oMail := SysLibMail():new()
local cTo := "joao@fake-mail.com"
local cSubject := "Assunto Importante"
local cBody := ""
cBody := "<p>Olá! Esse é o corpo da mensagem em HTML.</p>"
cBody += "<p>Quando não informadas, as configurações de e-mail são "
cBody += "obtidas automaticamente através dos parâmetros padrões (MV_RELXXX).</p>"
if oMail:send(cTo, cSubject, cBody)
MsgInfo("E-mail enviado com sucesso")
else
Alert(oMail:getError())
endIf
return
Outro recurso legal é a possibilidade de criação de um layout HTML para o corpo da mensagem.
<html>
<body>
<h3>Exemplo de mensagem HTML</h3>
<p>E-mail enviado em <strong>%date%</strong> às <strong>%time%</strong></p>
<table>
<tbody>
<tr>
<td>%tb.row%</td>
</tr>
</tbody>
</table>
</body>
</html>
A partir da definição do HTML basta substituir as variáveis contidas no template.
user function HtmlMailSample()
local oMail := SysLibMail():new()
local cTo := "joao@fake-mail.com"
local cSubject := "Assunto Importante"
local nRow := 0
oMail:setHtmlLayout("template.html")
oMail:setHtmlValue("date", DtoC(dDataBase))
oMail:setHtmlValue("time", Time())
for nRow := 1 to 5
oMail:addHtmlTableValue("tb.row", StrZero(nRow, 2))
next nRow
if oMail:send(cTo, cSubject)
MsgInfo("E-mail enviado com sucesso")
else
Alert(oMail:getError())
endIf
return