SMTP_Body

4D - Documentation   Français   English   German   Commandes Internet de 4D, Sommaire   Commandes Internet de 4D, Index   Retour   Précédent   Suivant

version 6.5


SMTP_Body (smtp_ID; msgCorps{; supprimerOption}) Entier

ParamètreTypeDescription
smtp_IDEntier longRéférence de message
msgCorpsTexteCorps du message
supprimerOptionEntier0 = Remplacer sauf si msgCorps vide, 1 = Remplacer,
2 = Ajouter
RésultatEntierCode d'erreur

Description

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 

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

Référence

SMTP_Charset, SMTP_New, SMTP_SetPrefs.


4D - Documentation   Français   English   German   Commandes Internet de 4D, Sommaire   Commandes Internet de 4D, Index   Retour   Précédent   Suivant