| 4D v13.2SMTP_Body | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 
 | 
    4D v13.2
 SMTP_Body 
         | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| SMTP_Body ( smtp_ID ; msgCorps ; supprimerOption ) -> Résultat | ||||||||
| Paramètre | Type | Description | ||||||
| smtp_ID | Entier long |   | Référence de message | |||||
| msgCorps | Texte |   | Corps du message | |||||
| supprimerOption | Entier |   | 0 = Remplacer sauf si msgCorps vide, 1 = Remplacer, 2 = Ajouter | |||||
| Résultat | Entier |   | 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 :
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 siNote : 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
	Produit :  4D
	Thème :  IC Send Mail
	Numéro :  
        88973
        
        
        
	Nom intl. :  SMTP_Body
     Liste alphabétique des commandes
    Liste alphabétique des commandes
	Créé :  4D Internet Commands 6.5
SMTP_Charset
SMTP_New
SMTP_SetPrefs