Bom dia.
Veja este exemplo. espero que ajude.
User Function RFINM01( _nSE1Rec , _nTpNot , _cMot )
Local cQuerys := " "
Local cArqHtml := "\SYSTEM\CANCFAT_NOTIF.HTM"
Local cPath := "\"
Local cSubj := ""
Local oHTML
Local cModelo := "\WORKFLOW\MODELOS\GERAL\CANCFAT_NOTIF.HTM"
Local chtml := "
"
Local cCCO := '' //copia e-mail oculto
Local cStartPath := GetSrvProfString("StartPath","")
DEFAULT _nTpNot := 1 // notificação canc.faturas.
DEFAULT _cMot := ""
dbSelectArea("SE1")
SE1->(dbGoto( _nSE1Rec ))
cArqHtml := cStartPath + "CANCFAT_NOTIF.HTM"
oHTML := TWFHTML():New(cModelo)
oHTML:ValByName("X_FATURA", SE1->E1_NUM)
oHTML:ValByName("X_MOTIVO", _cMot)
oHTML:ValByName("X_DTCANC", DTOC(MsDate()) + ' - ' + Transform(Time(),"99:99"))
oHTML:ValByName("X_CLIENTE", SE1->E1_CLIENTE +'-'+ SE1->E1_LOJA)
oHTML:ValByName("X_NOME", SE1->E1_NOMCLI)
oHTML:ValByName("X_EMISSAO", DTOC(SE1->E1_EMISSAO))
oHTML:ValByName("X_VENCTO", DTOC(SE1->E1_VENCREA) )
oHTML:ValByName("X_VALOR", Transform( SE1->E1_VALOR,"@E 999,999,999.99") )
If ValType(oHTML) == "O"
oHTML:SaveFile(cArqHtml)
cBody := WFLoadFile(cArqHtml)
cBody := MtHTML2Str(cArqHtml) //Transforma em caractere.
FErase(cArqHtml)
cHtmlFirt := '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">'
cHtmlFirt +='
'
cBody := StrTran(cBody , '' , cHtmlFirt )
cSubject := "[ FATURA NR: "+ Trim( SE1->E1_NUM ) + '-' + Trim(SE1->E1_NOMCLI)+ " ] - CANCELAMENTO DE FATURA "
cPara := ""
cCC := ""
lErrEml := EnviarMail( /cFrom/ , cPara, cCC, cSubject, , cBody , , /cSigaDpto/,cCCO )
fErase(cArqHtml)
oHTML:Free()
oHTML := nil
Endif
Return Nil