× Linguagem de Programação ADVPL

Perguntas Ponto de Entrada MT410INC para enviar e-mail

Mais
9 anos 10 meses atrás #26909 por rubem_mn
Prezados Colaboradores, estou utilizando seguinte ponto de entrada MT410INC para enviar e-mail, preciso criar seguinte regra,
1 - Enviar e-mail quando o código do cliente C5_CLIENTE = 000140'
2 - Quando o campo C6_TPCERTI tiver preenchido com CSS.

Como faço?


O resumo da fonte ficou assim:


#Include 'Protheus.ch'




User Function MT410INC()




local oServer := Nil
local oMessage := Nil
local nErr := 0


local cPopAddr := "pop.example.com" // Endereco do servidor POP3
local cSMTPAddr := "smtp.12131.com.br" // Endereco do servidor SMTP
local cPOPPort := 110 // Porta do servidor POP
local cSMTPPort := 465 // Porta do servidor SMTP
local cUser := "Este endereço de email está sendo protegido de spambots. Você precisa do JavaScript ativado para vê-lo." // Usuario que ira realizar a autenticacao
local cPass := "121" // Senha do usuario
local nSMTPTime := 60 // Timeout SMTP





// Instancia um novo TMailManager
oServer := tMailManager():New()

// Usa SSL na conexao
oServer:setUseSSL(.T.)

// Inicializa
oServer:init(cPopAddr, cSMTPAddr, cUser, cPass, cPOPPort, cSMTPPort)

// Define o Timeout SMTP
if oServer:SetSMTPTimeout(nSMTPTime) != 0
conout("[ERROR]Falha ao definir timeout")
return .F.
endif

// Conecta ao servidor
nErr := oServer:smtpConnect()
if nErr <> 0
conOut("[ERROR]Falha ao conectar: " + oServer:getErrorString(nErr))
oServer:smtpDisconnect()
return .F.
endif

// Realiza autenticacao no servidor
nErr := oServer:smtpAuth(cUser, cPass)
if nErr <> 0
conOut("[ERROR]Falha ao autenticar: " + oServer:getErrorString(nErr))
oServer:smtpDisconnect()
return .F.
endif

// Cria uma nova mensagem (TMailMessage)
oMessage := tMailMessage():new()
oMessage:clear()
oMessage:cFrom := "Este endereço de email está sendo protegido de spambots. Você precisa do JavaScript ativado para vê-lo."
oMessage:cTo := "Este endereço de email está sendo protegido de spambots. Você precisa do JavaScript ativado para vê-lo."
//oMessage:cCC := "Este endereço de email está sendo protegido de spambots. Você precisa do JavaScript ativado para vê-lo."
//oMessage:cBCC := "Este endereço de email está sendo protegido de spambots. Você precisa do JavaScript ativado para vê-lo."
oMessage:cSubject := AllTrim(SM0->M0_NOMECOM) +" SOLICITAÇÃO DE CERTIFICADO PEDIDO"
oMessage:cBody := EscopoEmail()

// Envia a mensagem
nErr := oMessage:send(oServer)
if nErr <> 0
conout("[ERROR]Falha ao enviar: " + oServer:getErrorString(nErr))
oServer:smtpDisconnect()
return .F.
endif

// Disconecta do Servidor
oServer:smtpDisconnect()


Return .T.


Static Function EscopoEmail ()



Local cHTML := ''

nPedido := SC5->C5_NUM


cHTML += "<html>"
cHTML += "<head>"
cHTML += "<meta http-equiv='Content-Type'"
cHTML += "content='text/html; charset=iso-8859-1'>"
cHTML += "<title>Aprovação de Pedido de Compra</title>"
cHTML += "</head>"
cHTML += "<body bgcolor='#FFFFFF' bgproperties='fixed'>"
cHTML += "<h2>"+ SM0->M0_NOMECOM +"</h2>"
cHTML += "<h2>"+ SM0->M0_CGC +"</h2>"
cHTML += "<h2>"+ SM0->M0_ENDENT +"</h2>"
cHTML += "<h2>"+ SM0->M0_BAIRENT +"</h2>"
cHTML += "<h2>"+ SM0->M0_ESTENT +"</h2>"
cHTML += "<h2 align='right'> <font color='#FFFFFF' size='3' face='Arial'><strong><span style='text-transform: uppercase'></strong></font><font color='#FF0000' size='3' face='Arial'><strong>Pedido de compra</strong></font><font color='#FFFFFF' size='3' face='Arial'><strong></span></strong></font></h2>"
cHTML += " <p>&nbsp;</p>"
cHTML += "<table border='0' width='75%' height='84'>"
cHTML += "<tr>"
cHTML += "<td colspan='4' width='630' bgcolor='#DFEFFF' height='24'><p align='right'><font size='2' face='Arial'><b>Pedido de Venda Interno </b>.: "+ SC5->C5_NUM +"</font></p>"
cHTML += "</td>"
cHTML += "</tr>"
cHTML += "<tr>"
cHTML += "<td width='200' height='2'> <p align='right'><font size='2' face='Arial'><b>Emissão </b>.:</font></p>"
cHTML += "</td>"
cHTML += "<tr>"
cHTML += "</table>"
cHTML += "<table border='1' cellpadding='0' cellspacing='0' width='75%' bgcolor='#DFDFDF'>"
cHTML += "<tr>"
cHTML += "<p><strong>Cliente</strong></p>"
cHTML += "<td width='28%'><font size='2' face='Arial'> Nome.: "+ SC5->C5_CLIENTE +"</font></td>"
cHTML += "<td width='20%'><font size='2' face='Arial'> Loja : "+ SC5->C5_LOJACLI +" </font></td>"
cHTML += "</tr>"
cHTML += "</table>"
cHTML += " <p>&nbsp;</p>"
cHTML += "</thead>
cHTML += "<table border='1' cellpadding='2' cellspacing='0' width='75%' bordercolor='#000000'>"
cHTML += "<h3> Itens do Pedido </h3>"
cHTML += "<tr>"
cHTML += "<td align='center' width='2%' bgcolor='#DFDFDF'>"
cHTML += "<p align='center'><font size='2' face='Arial'><strong>Item</strong></font></p>"
cHTML += "</td>"
cHTML += "<td align='right' width='5%' bgcolor='#DFDFDF'>
cHTML += "<p align='center'><font size='2' face='Arial'><strong>Cod. Produto</strong></font></p>"
cHTML += "</td>"
cHTML += "<td width='10%' bgcolor='#DFDFDF'>"
cHTML += "<p align='center'><font size='2' face='Arial'><strong>Descrição</strong></font></p>
cHTML += "</td>"
cHTML += "<td width='2%' bgcolor='#DFDFDF'>"
cHTML += "<p align='center'><font size='2' face='Arial'><strong>UN</strong></font></p>"
cHTML += "</td>"
cHTML += "<td width='3%' bgcolor='#DFDFDF'>"
cHTML += "<p align='center'><font size='2' face='Arial'><strong>Quant.</strong></font></p>"
cHTML += "</td>"
cHTML += "<td width='5%' bgcolor='#DFDFDF'>"
cHTML += "<p align='center'><font size='2' face='Arial'><strong>Pedido do Cliente </strong></font></p>"
cHTML += "</td>"
cHTML += "<td align='right' width='4%' bgcolor='#DFDFDF'>"
cHTML += "<p align='center'><font size='2' face='Arial'><strong>Item Cliente</strong></font></p>"
cHTML += "</td>"
cHTML += "<td align='right' width='4%' bgcolor='#DFDFDF'>"
cHTML += "<p align='center'><font size='2' face='Arial'><strong>Certificado</strong></font></p>"
cHTML += "</tr>"

Do While SC6->(!Eof()) .AND. SC6->C6_NUM == nPedido


cHTML += "<tbody>"
cHTML += "<tr>"
cHTML += "<td> <p align='center'> <font size='2' face='Arial'>"+ SC6->C6_ITEM + " </font> </p></td>"
cHTML += "<td> <p align='center'> <font size='2' face='Arial'>"+ SC6->C6_PRODUTO +" </font> </p> </td>"
cHTML += "<td> <p align='center'> <font size='2' face='Arial'>"+ AllTrim(SC6->C6_DESCRI)+" </font> </p> </td>"
cHTML += "<td> <p align='center'> <font size='2' face='Arial'>"+ SC6->C6_UM +"</font> </p> </td>'
cHTML += "<td> <p align='center'> <font size='2' face='Arial'>"+ transform(SC6->C6_QTDVEN,"@9999.99") +"</font> </p> </td>"
cHTML += "<td> <p align='center'> <font size='2' face='Arial'>"+ SC6->C6_PEDCLI +" </font> </p> </td>"
cHTML += "<td> <p align='center'> <font size='2' face='Arial'>"+ SC6->C6_ITEMCLI +" </font> </p> </td>"
cHTML += "<td> <p align='center'> <font size='2' face='Arial'>"+ SC6->C6_TPCERTI +" </font> </p> </td>"
cHTML += "</tr>"
cHTML += "</tbody>"
SC6->(dbSkip())

End



Return cHTML

O e-mail é enviado com sucesso.

Obrigado.

Por favor Acessar ou Registrar para participar da conversa.

Mais
9 anos 10 meses atrás #26914 por henry.charriere
Brother, bom dia!

Para pegar o codigo do cliente vc pode fazer isso M->C5_CLIENTE e faz um if

if M->C5_CLIENTE = "xxxxx"

Para pegar o tipo do produto pode usar isso aqui

For nXi := 1 To Len(Acols)

GdFieldGet("C6_UNSVEN",nXi)
GdFieldGet("C6_TES",nXi)

Next nXi

ai vc pode fazer o tratamento ai....

Por favor Acessar ou Registrar para participar da conversa.

Tempo para a criação da página:0.109 segundos
Joomla templates by a4joomla