4D Internet Commands v14SMTP_Body |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D Internet Commands v14
SMTP_Body
|
SMTP_Body ( smtp_ID ; msgCuerpo {; opcion} ) -> resultado | ||||||||
Parámetro | Tipo | Descripción | ||||||
smtp_ID | Entero largo |
![]() |
Referencia del mensaje | |||||
msgCuerpo | Texto |
![]() |
Cuerpo del mensaje | |||||
opcion | Entero |
![]() |
0 = Remplazar (si msgCuerpo no está vacío), 1 = Eliminar, 2 = Añadir, 4 = Formato HTML (texto plano por defecto) | |||||
resultado | Entero |
![]() |
Código de error | |||||
El comando SMTP_Body inserta el texto de msgCuerpo en el cuerpo principal del mensaje identificado por smtp_ID.
El msgCuerpo es el bloque principal de texto.
smtp_ID es la referencia entero largo de un mensaje electrónico creado con el comando SMTP_New.
msgCuerpo es un valor texto que contiene el cuerpo del mensaje. El tamaño de msgCuerpo está limitado a 32K de un objeto 4D de tipo Texto. Esto no significa que el mensaje esté limitado a 32K. Para enviar una carta cuyo cuerpo es superior a 32 K, debe utilizar la bandera Añadir del parámetro opcion (ver más adelante). El tamaño del cuerpo de un mensaje está limitado sólo por la memoria disponible.
Nota: por defecto, el cuerpo del mensaje está codificado con UTF-8, lo que garantiza que los caracteres enviados serán interpretados correctamente por casi todos los clientes de correo electrónico. Si desea utilizar un conjunto de caracteres específico, consulte los comandos SMTP_SetPrefs y SMTP_Charset.
opcion se utiliza para gestionar la concatenación de varios cuerpos y para modificar el formato de los mensajes (texto o HTML):
Para combinar el envío del mensaje en HTML con una opción de reemplazo, sólo puede sumar los valores. Por ejemplo, puede pasar 1+4 en opcion con el fin de sustituir el cuerpo y enviar el mensaje en HTML.
Este es un ejemplo SMTP completo:
C_LONGINT($SMTP_ID)
C_BOOLEAN($SentOK;$OK)
$SentOK:=False `Una bandera indica si es aplicable a todos los 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 `mensaje compuesto y enviado con éxito
End case
If($SMTP_ID#0) `Si un mensaje fue creado en memoria, debemos borrarlo ahora
$OK:=ERRCHECK("SMTP_Clear";SMTP_Clear($SMTP_ID))
End if
Nota: para mayor información sobre el uso particular de la estructura Case of, consulte el Anexo A: Consejos de programación
A continuación está el código del método ERRCHECK. Este método recibe dos parámetros, el nombre del comando ($Command), y el valor del error (pasado por la ejecución del comando en el parámetro del método). ERRCHECK devuelve un error booleano indicando si el comando devolvió el error cero. Si el error no es cero, el valor devuelto ($0) es false, de lo contrario es true.
C_TEXT(vErrorMsg)
$Command:=$1
$Error:=$2
$Result:=True
If($Error#0)
$Result:=False
If(◊SHOWERRORS) `Booleano para determinar si mostrar los mensajes de error
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
Producto: 4D Internet Commands
Tema: IC Send Mail
Número
88973
Creado por: 4D Internet Commands 6.5
Modificado: 4D Internet Commands v14
SMTP_Charset
SMTP_New
SMTP_SetPrefs
4D Internet Commands ( 4D Internet Commands v14 R2)
4D Internet Commands ( 4D Internet Commands v14)
4D Internet Commands ( 4D Internet Commands v14 R3)
4D Internet Commands ( 4D Internet Commands v14 R4)
Inherited from : SMTP_Body ( 4D Internet Commands v11.4)