4D Internet Commands v16

SMTP_Body

Página Inicial

 
4D Internet Commands v16
SMTP_Body

SMTP_Body 


 

SMTP_Body ( smtp_ID ; corpoMsg {; opcao} ) -> Resultado 
Parâmetro Tipo   Descrição
smtp_ID  Inteiro longo in Referencia da mensagem
corpoMsg  Texto in Corpo da mensagem
opcao  Inteiro in 0 = Substituir (se corpoMsg não está vazio), 1 = Eliminar, 2 = Adicionar, 4 = Formato HTML (texto plano por padrão)
Resultado  Inteiro in Código de erro

O comando SMTP_Body  insere o texto de corpoMsg no corpo principal da mensagem identificada por smtp_ID.
O corpoMsg é o bloco principal de texto.

smtp_ID é a referencia inteiro longo de uma mensagem eletrônica criada com o comando SMTP_New.

corpoMsg é um valor texto que contém o corpo da mensagem. O tamanho de corpoMsg está limitado a 32K de um objeto 4D de tipo Texto. Isto não significa que a mensagem esteja limitada a 32K. Para enviar uma carta cujo corpo é superior a 32 K, deve utilizar deve utilizar a bandeira Adicionar do parâmetro opcao (ver mais à frente). O tamanho do corpo de uma mensagem somente está limitado pela memória disponível.

Nota: por padrão, o corpo da mensagem está codificado com UTF-8, o que garante que os caracteres enviados serão interpretados corretamente por quase todos os clientes de email. Se deseja utilizar um conjunto de caracteres específico, consulte os comandos SMTP_SetPrefs e SMTP_Charset.

opcao se utiliza para gerenciar a concatenação de vários corpos e para modificar o formato das mensagens (texto ou HTML):

  • Se passar zero, o conteúdo do parâmetro assunto substituirá o corpo da mensagem presente, se passar uma cadeia vazia em corpoMsg, é conservado o corpo da mensagem existente).
  • Se passar 1, o conteúdo do parâmetro msgCorpo substituirá o corpo da mensagem presente. Neste caso, se passar uma cadeia vazia em corpoMsg, é apagado o corpo da mensagem existente.
  • Se passar 2, o conteúdo de corpoMsg é agregado ao corpo da mensagem depois de qualquer texto já definido (concatenação)
    Se opcao se omite, por padrão se utiliza o valor 0.
  • Se passar 4, indica que o conteúdo de corpoMsg é HTML (por padrão, corpoMsg se envia como texto sem formato).
Para combinar o envio da mensagem em HTML com uma opção de substituição, só pode somar os valores. Por exemplo, pode passar 1+4 em opcao com o fim de substituir o corpo e enviar a mensagem em HTML.

Exemplo  

Este é um exemplo SMTP completo:

 C_LONGINT($SMTP_ID)
 C_BOOLEAN($SentOK;$OK)
 $SentOK:=False `Uma bandeira indica se é aplicável a todos os comandos
 Case of
    :(Not(ERRCHECK("SMTP_New";SMTP_New($SMTP_ID))))
    :(Not(ERRCHECK("SMTP_Host";SMTP_Host($SMTP_ID;◊pref_Server))))
    :(Not(ERRCHECK("SMTP_From";SMTP_From($SMTP_ID;vFrom))))
    :(Not(ERRCHECK("SMTP_To";SMTP_To($SMTP_ID;vTo))))
    :(Not(ERRCHECK("SMTP_Cc";SMTP_Cc($SMTP_ID;vCC))))
    :(Not(ERRCHECK("SMTP_Bcc";SMTP_Bcc($SMTP_ID;vBcc))))
    :(Not(ERRCHECK("SMTP_Subject";SMTP_Subject($SMTP_ID;vSubject))))
    :(Not(ERRCHECK("SMTP_Comments";SMTP_Comments($SMTP_ID;"Sent via 4D"))))
    :(Not(ERRCHECK("SMTP_AddHeader";SMTP_AddHeader($SMTP_ID;"X-4Ddemo:";◊VERSION))))
    :(Not(ERRCHECK("SMTP_Body";SMTP_Body($SMTP_ID;vMessage))))
    :(Not(ERRCHECK("SMTP_Send";SMTP_Send($SMTP_ID))))
    Else
       $SentOK:=True `mensagem composto e enviado com sucesso
 End case
 
 If($SMTP_ID#0) `Se uma mensagem foi criada em memória, devemos excluir agora
    $OK:=ERRCHECK("SMTP_Clear";SMTP_Clear($SMTP_ID))
 End if

Nota: Para maior informação sobre o uso particular da estrutura Case of, consulte o Apêndice A, Dicas de programação

A continuação está o código do método ERRCHECK. Este método recebe dois parâmetros, o nome do comando ($Command), e o valor do erro (passado pela execução do comando no parâmetro do método). ERRCHECK devolve um erro booleano indicando se o comando devolveu o erro zero. Se o erro não é zero, o valor devolvido ($0) é false, caso contrário é true.

 C_TEXT(vErrorMsg)
 $Command:=$1
 $Error:=$2
 $Result:=True
 If($Error#0)
    $Result:=False
    If(◊SHOWERRORS`Booleano para determinar se mostrar as mensagens de erro
       vErrorMsg:=IT_ErrorText($Error)
       ALERT("ERROR ---"+Char(13)+"Command: "+$Command+Char(13)+"Error
       Code"+String($Error)+Char(13)+"Description"+vErrorMsg)
    End if
 End if
 $0:=$Result



Ver também 

SMTP_Charset
SMTP_New
SMTP_SetPrefs

 
PROPRIEDADES 

Produto: 4D Internet Commands
Tema: IC Send Mail
Número 88973

 
HISTÓRIA 

New
Criado por: 4D Internet Commands 6.5
Modificado: 4D Internet Commands v14
Modificado: 4D Internet Commands v16

 
ARTICLE USAGE

4D Internet Commands ( 4D Internet Commands v16)