Histórico da Página
| Composition Setup |
|---|
import.css=/download/attachments/6062824/tecnologia.css |
...
| Pagetitle | ||
|---|---|---|
|
...
|
...
|
Classe tMailMessage
A classe
...
TMailMessage representa uma mensagem de e-mail. Através dela é possível obter todas informações sobre a mensagem carregada e realizar diversas operações, como envio e recebimento de
...
e-mail.
...
TMailMessage possui todos atributos possíveis a uma mensagem de e-mail e podemos utilizar seus métodos para inserir arquivos, documentos e outras mensagens como anexo da mensagem atual.
...
Hierarquia
...
- TMailMessage
Construtores
| Inclusão de trecho | ||||
|---|---|---|---|---|
|
...
|
...
Propriedades
| Inclusão de trecho | ||
|---|---|---|
|
...
|
...
Métodos
| Inclusão de trecho | ||
|---|---|---|
|
...
|
...
Observações
- A classe
...
- TMailMessage não possui hierarquia, no entanto é relacionada diretamente com a classe
...
- TMailManager para operações de envio e recebimento de e-mail.
Exemplos
| Bloco de código | |||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
| language | cpp
| ||||||||||
#include "TOTVS.CH"
user Function EMail()
Local oServer
Local oMessage
Local nNumMsg := 0
Local nTam := 0
Local nI := 0
//Cria a conexão com o server STMP ( Envio de e-mail )
oServer := tMailManagerTMailManager():New() oServer:Init( "", "smtp.microsiga.com.br", "ricardo.reis", "rica4758", 0, 25 ) //seta um tempo de time out com servidor de 1min If oServer:SetSmtpTimeOut( 60 ) != 0 Conout( "Falha ao setar o time out" ) Return .F. EndIf //realiza a conexão SMTP If oServer:SmtpConnect() != 0 Conout( "Falha ao conectar" ) Return .F. EndIf //Apos a conexão, cria o objeto da mensagem oMessage :=tMailMessage TMailMessage():New() //Limpa o objeto oMessage:Clear() //Popula com os dados de envio oMessage:cFrom := "Microsiga " oMessage:cTo := "[email protected];[email protected]" oMessage:cCc := "[email protected]" oMessage:cBcc := "[email protected]" oMessage:cSubject := "Teste de Email" oMessage:cBody := "Conteudo do e-mail" //Adiciona um attach If oMessage:AttachFile( "arquivo.txt" ) < 0 Conout( "Erro ao atachar o arquivo" ) Return .F. Else //adiciona uma tag informando que é um attach e o nome do arq oMessage:AddAtthTag( 'Content-Disposition: attachment; filename=arquivo.txt') EndIf //Envia o e-mail If oMessage:Send( oServer ) != 0 Conout( "Erro ao enviar o e-mail" ) Return .F. EndIf //Desconecta do servidor If oServer:SmtpDisconnect() != 0 Conout( "Erro ao disconectar do servidor SMTP" ) Return .F. EndIf //Cria uma nova conexão, agora de POP oServer :=tMailManager TMailManager():New() oServer:Init( "pop3.microsiga.com.br", "", "SeunomeAntesDo@", "senhaDoEmail", 0, 110 ) If oServer:SetPopTimeOut( 60 ) != 0 Conout( "Falha ao setar o time out" ) Return .F. EndIf If oServer:PopConnect() != 0 Conout( "Falha ao conectar" ) Return .F. EndIf //Recebe o número de mensagens do servidor oServer:GetNumMsgs( @nNumMsg ) nTam := nNumMsg For nI := 1 To nTam //Limpa o objeto da mensagem oMessage:Clear() //Recebe a mensagem do servidor oMessage:Receive( oServer, nI ) //Escreve no server os dados do e-mail recebido Conout( oMessage:cFrom ) Conout( oMessage:cTo ) Conout( oMessage:cCc ) Conout( oMessage:cSubject ) Conout( oMessage:cBody ) Next //Deleta todas as mensagens do servidor For nI := 1 To nTam oServer:DeleteMsg( nI ) Next //Desconecta do servidor POP oServer:POPDisconnect() Return .T. |
| Bloco de código | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| language | cpp
| |||||||||
//Exemplo tMailMessageTMailMessage com Imagem //Este exemplo de uso da classetMailMessage TMailMessage, visa o uso e explicação de dois métodos da classe: //SetConfirmRead() e AddAttHTag(). //SetConfirmRead() tem como objetivo, mandar uma solicitação de resposta de Leitura para a pessoa //que receber oemail e-mail, podendo ela optar por mandar ou não. //AddAttHTag() tem como objetivo incluir tags no cabeçalho(header) da mensagem. Obs: este cabeçalho //não é cabeçalho do corpo da mensagem. //Neste exemplo da função usaremos uma tag para colocarmos a imagem no corpo do texto, após //carregar a imagem, atribuimos um ID para ele, da seguinte forma: 'Content-ID:<ID <ID_siga.jpg> jpg>' //A parte em negrito significa o ID que atribuimos para a imagem, o que está entre as aspas deve //ser seguido por padrão com o protocolo. //Note que quando criamos o html que compõe a mensagem usamos esse ID: //oMessage:cBody := 'Teste<br><img Teste<br><img src='cid:ID_siga.jpg'> >' //Assim a imagem será carregada normalmente.
#include "TOTVS.CH"
User Function EnvMail()
Local oMailServer := tMailManagerTMailManager():New() Local oMessage :=tMailMessage TMailMessage():New() Local nErro := 0
oMailServer:Init( "", "smtp.microsiga.com.br", "", "", 0, 25 )
If( (nErro := oMailServer:SmtpConnect()) != 0 )
conout( "Não conectou.", oMailServer:GetErrorString( nErro ) )
Return
EndIf
oMessage:Clear()
oMessage:cFrom := "[email protected]"
//Altere
oMessage:cTo := "[email protected]"
//Altere
oMessage:cCc := ""
oMessage:cBcc := ""
oMessage:cSubject := "Teste de envio d e-mail"
oMessage:cBody := "Teste<br><imgTeste<br><img src='cid:ID_siga.jpg'> >" oMessage:MsgBodyType( "text/html" ) // Para solicitar confimação de envio //oMessage:SetConfirmRead( .T. ) // Adiciona um anexo, nesse caso a imagem esta no root oMessage:AttachFile( '\siga.jpg' ) // Essa tag, é a referecia para o arquivo ser mostrado no corpo, o nome declarado nela deve ser o usado no HTML oMessage:AddAttHTag( 'Content-ID:<ID <ID_siga.jpg> jpg>' ) nErro := oMessage:Send( oMailServer ) If( nErro != 0 ) conout( "Não enviou o e-mail.", oMailServer:GetErrorString( nErro ) ) Return EndIf nErro := oMailServer:SmtpDisconnect() If( nErro != 0 ) conout( "Não desconectou.", oMailServer:GetErrorString( nErro ) ) Return EndIf Return |
Abrangência
Advanced Protheus 6.09, Advanced Protheus 7.10, Microsiga Protheus 8.11, Protheus 10, TOTVS Application Server 10, ByYou Application Server
Veja também
...
Import HTML Content
Visão Geral
Conteúdo das Ferramentas