4D v13.2

SMTP_Body

Inicio

 
4D v13.2
SMTP_Body

SMTP_Body 


 

SMTP_Body ( smtp_ID ; cuerpoMsg ; eliminarOpcion ) -> resultado 
Parámetro Tipo   Descripción
smtp_ID  Entero largo in Referencia del mensaje
cuerpoMsg  Texto in Cuerpo del mensaje
eliminarOpcion  Entero in 0 = Reemplazar (si cuerpoMsg no está vacío), 1 = Borrar, 2 = Añadir
resultado  Entero in Código de error

El comando SMTP_Body inserta el texto de cuerpoMsg en el cuerpo principal del mensaje identificado por smtp_ID. El cuerpoMsg es el bloque principal de texto.

smtp_ID es la referencia entero largo de un mensaje electrónico creado con el comando SMTP_New.

cuerpoMsg es un valor texto que contiene el cuerpo del mensaje. El tamaño de cuerpoMsg 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 concatenar varios textos con la ayuda del parámetro eliminarOpcion (ver más adelante). El tamaño del cuerpo de un mensaje está limitado sólo por la memoria disponible.

Atención: por lo general, el cuerpo del mensaje no debe contener caracteres acentuados (por ejemplo, é, ö, etc.) Sin embargo, si desea utilizar caracteres "extendidos", consulte las descripciones de los comandos SMTP_SetPrefs y SMTP_Charset.

eliminarOpcion es un valor entero que especifica si se debe conservar o remplazar el cuerpo del mensaje referenciado por smtp_ID:

  • Si pasa cero, el contenido del parámetro asunto reemplaza el cuerpo del mensaje presente, si pasa una cadena vacía en cuerpoMsg, se conserva el cuerpo del mensaje existente).
  • Si pasa 1, el contenido del parámetro msgCuerpo reemplaza el cuerpo del mensajes presente. En este caso, si pasa una cadena vacía en cuerpoMsg, se borra el cuerpo del mensaje existente.
  • Si pasa 2, el contenido de cuerpoMsg se añade al cuerpo del mensaje que fuese  enviado previamente por una llamada a SMTP_Body.
    eliminarOpcion es un parámetro opcional que por defecto tiene el valor cero.

Ejemplo  

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

 
PROPIEDADES 

Producto: 4D
Tema: IC Send Mail
Número 88973

 
INDEX

Lista alfabética de los comandos

 
HISTORIA 

Creado por: 4D Internet Commands 6.5

 
VER TAMBIÉN 

SMTP_Charset
SMTP_New
SMTP_SetPrefs