4D v13.2

SMTP_Body

Accueil

 
4D v13.2
SMTP_Body

SMTP_Body 


 

SMTP_Body ( smtp_ID ; msgCorps ; supprimerOption ) -> Résultat 
Paramètre Type   Description
smtp_ID  Entier long in Référence de message
msgCorps  Texte in Corps du message
supprimerOption  Entier in 0 = Remplacer sauf si msgCorps vide, 1 = Remplacer, 2 = Ajouter
Résultat  Entier in Code d'erreur

La commande SMTP_Body insère le texte de msgCorps dans le corps principal du message identifié par smtp_ID. Le msgCorps est le principal bloc de texte.

smtp_ID contient l'identifiant d'un message électronique créé avec la commande SMTP_New.

Le paramètre msgCorps contient le corps du message. La taille de msgCorps est limitée aux 32 Ko d'un objet 4D de type Texte. Cela ne signifie pas que le message lui-même est limité à 32 Ko : pour envoyer une lettre dont le corps est supérieur à 32 Ko, il vous suffit de concaténer (mettre bout à bout) plusieurs textes, à l'aide du paramètre supprimerOption (voir plus bas). La taille du corps d'un message n'est réellement limitée que par la mémoire disponible.

Attention : En principe, le corps du message ne doit pas contenir de caractères accentués (tels que é, ö, etc.). Si vous souhaitez malgré tout utiliser des caractères de ce type (appelés “caractères étendus”), reportez-vous aux commandes SMTP_SetPrefs et SMTP_Charset.

Le paramètre optionnel supprimerOption vous permet de préciser s'il faut conserver ou remplacer le corps du message éventuellement existant :

  • Si vous passez 0 (zéro), le contenu du paramètre msgCorps remplace le corps de message éventuellement présent, sauf si vous passez une chaîne vide dans msgCorps, auquel cas le corps de message existant est conservé.
  • Si vous passez 1, le contenu du paramètre msgCorps remplace le corps de message éventuellement présent. Dans ce cas, si vous passez une chaîne vide dans msgCorps, le corps du message est supprimé du message.
  • Si vous passez 2, le contenu de msgCorps est ajouté au corps du message, à la suite de tout texte déjà défini (concaténation).
    Si supprimerOption est omis, par défaut la valeur 0 est utilisée.

Exemple  

Voici un exemple SMTP complet :

 C_ENTIER LONG($SMTP_ID)
 C_BOOLEEN($EnvoyeOK;$OK)
 $EnvoyeOK:=Faux `Indicateur précisant s'il est applicable à toutes les commandes
 Au cas ou
    :(Non(VérifErreur("SMTP_New";SMTP_New($SMTP_ID))))
    :(Non(VérifErreur("SMTP_Host";SMTP_Host($SMTP_ID;◊pref_Server))))
    :(Non(VérifErreur("SMTP_From";SMTP_From($SMTP_ID;vDe))))
    :(Non(VérifErreur("SMTP_To";SMTP_To($SMTP_ID;vA))))
    :(Non(VérifErreur("SMTP_Cc";SMTP_Cc($SMTP_ID;vCC))))
    :(Non(VérifErreur("SMTP_Bcc";SMTP_Bcc($SMTP_ID;vBcc))))
    :(Non(VérifErreur("SMTP_Subject";SMTP_Subject($SMTP_ID;vSujet))))
    :(Non(VérifErreur("SMTP_Comments";SMTP_Comments($SMTP_ID;"Envoyé via 4D"))))
    :(Non(VérifErreur("SMTP_AddHeader";SMTP_AddHeader($SMTP_ID;"X-4Ddemo:";◊VERSION))))
    :(Non(VérifErreur("SMTP_Body";SMTP_Body($SMTP_ID;vMessage))))
    :(Non(VérifErreur("SMTP_Send";SMTP_Send($SMTP_ID))))
    Sinon
       $EnvoyeOK:=Vrai `Message composé et envoyé avec succès
 Fin de cas
 
 Si($SMTP_ID#0) `Si un message a été créé en mémoire, nous devons l'effacer maintenant
    $OK:=VérifErreur("SMTP_Clear";SMTP_Clear($SMTP_ID))
 Fin de si

Note : Pour plus d'informations sur cet emploi particulier de la structure Au cas ou, reportez-vous à l'Annexe A, Conseils de programmation.

L'exemple suivant fournit le code de la méthode VérifErreur. Cette méthode reçoit deux paramètres : le nom de la commande ($Commande) et la valeur de l'erreur (fournie par l'exécution de la commande dans le paramètre de la méthode). VérifErreur renvoie une valeur booléenne indiquant si la commande a retourné le code d'erreur 0 (zéro). Si ce n'est pas le cas, la valeur retournée ($0) est Faux, sinon Vrai.

 C_TEXTE(vMsgErreur)
 $Commande:=$1
 $Erreur:=$2
 $Resultat:=Vrai
 Si($Erreur#0)
    $Resultat:=Faux
    Si(◊VOIRERREURS`Booléen pour déterminer s'il faut afficher les messages d'erreur
       vMsgErreur:=IT_ErrorText($Erreur)
       ALERTE("ERREUR ---"+Caractere(13)+"Commande : "+$Commande+Caractere(13)+"Erreur Code:"+Chaine($Erreur)+Caractere(13)+"Description : "+vMsgErreur)
    Fin de si
 Fin de si
 $0:=$Resultat

 
PROPRIÉTÉS 

Produit : 4D
Thème : IC Send Mail
Numéro : 88973
Nom intl. : SMTP_Body

 
INDEX

Liste alphabétique des commandes

 
HISTORIQUE 

Créé : 4D Internet Commands 6.5

 
VOIR AUSSI  

SMTP_Charset
SMTP_New
SMTP_SetPrefs