| 4D Internet Commands v14SMTP_Body | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 
 | 
    4D Internet Commands v14
 SMTP_Body 
         | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| SMTP_Body ( smtp_ID ; msgCorps {; option} ) -> Résultat | ||||||||
| Paramètre | Type | Description | ||||||
| smtp_ID | Entier long |   | Référence de message | |||||
| msgCorps | Texte |   | Corps du message (UTF-8 par défaut) | |||||
| option | Entier |   | 0 = Remplacer sauf si msgCorps vide, 1 = Remplacer, 2 = Ajouter, 4 = Format HTML (texte brut par défaut) | |||||
| 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 option (voir plus bas). La taille du corps d'un message n'est réellement limitée que par la mémoire disponible.
Note : Par défaut, le corps du message est encodé en UTF-8, ce qui garantit que les caractères envoyés seront correctement interprétés par la quasi totalité des clients de messagerie. Si vous souhaitez utiliser un jeu de caractères spécifique, reportez-vous aux commandes SMTP_SetPrefs et SMTP_Charset.
Le paramètre option vous permet de gérer la concaténation de plusieurs corps et de modifier le format du message (texte ou HTML) :
Pour combiner l’envoi du message en HTML et une option de remplacement, il suffit d’additionner les valeurs. Par exemple, passez 1+4 dans option afin de remplacer le corps et de l’envoyer en HTML.
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 Internet Commands
	Thème :  IC Send Mail
	Numéro :  
        88973
        
        
        
	Nom intl. :  SMTP_Body

	Créé :  4D Internet Commands 6.5
	Modifié :  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)
Hérité de : SMTP_Body ( 4D Internet Commands v11.4)