Este é o site histórico da documentação 4D. As documentações estão sendo movidas progressivamente para developer.4d.com |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v19
SMTP_Body
|
SMTP_Body ( smtp_ID ; corpoMsg {; opcao} ) -> Resultado | ||||||||
Parâmetro | Tipo | Descrição | ||||||
smtp_ID | Inteiro longo |
![]() |
Referencia da mensagem | |||||
corpoMsg | Texto |
![]() |
Corpo da mensagem | |||||
opcao | Inteiro |
![]() |
0 = Substituir (se corpoMsg não está vazio), 1 = Eliminar, 2 = Adicionar, 4 = Formato HTML (texto plano por padrão) | |||||
Resultado | Inteiro |
![]() |
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):
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
Produto: 4D
Tema: IC Send Mail (deprecated)
Número
88973
Criado por: 4D Internet Commands 6.5
Modificado: 4D Internet Commands v14
Modificado: 4D Internet Commands v16
4D Internet Commands ( 4D v19)