4D v18

SMTP New transporter

Accueil

 
4D v18
SMTP New transporter

SMTP New transporter 


 

SMTP New transporter ( serveur ) -> Résultat 
Paramètre Type   Description
serveur  Objet in Informations sur le serveur Mail
Résultat  Objet in Objet transporteur SMTP

La commande SMTP New transporter configure une nouvelle connexion SMTP en fonction du paramètre serveur et retourne un nouvel objet transporteur. L'objet transporteur retourné sera ensuite utilisé pour l'envoi d'e-mails.

Dans le paramètre serveur, passez un objet contenant les propriétés suivantes :

PropriétéTypeDescription
hostTexteNom ou adresse IP du serveur hôte à utiliser pour les transactions SMTP. 
portNumérique(optionnel) Port à utiliser pour les transactions SMTP. Valeur par défaut=587
keepAliveBooléen(optionnel) Vrai pour garder la connexion active jusqu'à la suppression de l'objet transporteur. Valeur par défaut=Vrai
connectionTimeOutNumérique(optionnel) Temps d'attente maximal (en secondes) pour établir une connexion au serveur. Valeur par défaut=30
sendTimeOutNumérique(optionnel) Temps d'attente maximal (en secondes) d'un appel sendMail. Valeur par défaut=100
authenticationModeTexteMode d'authentification utilisé pour ouvrir la session sur le serveur SMTP(*). Valeurs possibles :
Constante Valeur Comment
SMTP authentication CRAM MD5 CRAM-MD5 Authentification SMTP via le protocole CRAM-MD5
SMTP authentication login LOGIN Authentification SMTP via le protocole LOGIN
SMTP authentication plain PLAIN Authentification SMTP via le protocole PLAIN
userTexteNom d'utilisateur pour l'authentification sur le serveur
passwordTexteMot de passe de l'utilisateur pour l'authentification sur le serveur
acceptUnsecureConnectionBooléenVrai pour autoriser 4D à établir une connexion non cryptée si une connexion cryptée est impossible (**). Si Faux, une erreur est retournée en cas de connexion cryptée impossible. Valeur par défaut=Faux
logFileTexte(optionnel) Chemin du fichier d'historique étendu (***). Peut être relatif (au dossier Logs courant) ou absolu.
headerCharsetTexte(optionnel) Charset et encodage utilisés pour les parties du mail suivantes : le sujet, les noms de fichiers joints et l'attribut (ou les attributs) du nom du mail. Valeurs possibles :
Constante Valeur Comment
mail mode ISO2022JP US-ASCII_ISO-2022-JP_UTF8_QP
  • headerCharset : US-ASCII si possible, Japonais (ISO-2022-JP) & Quoted-printable si possible, sinon UTF-8 & Quoted-printable
  • bodyCharset : US-ASCII si possible, Japonais (ISO-2022-JP) & 7 bits si possible, sinon UTF-8 & Quoted-printable
mail mode ISO88591 ISO-8859-1
  • headerCharset : ISO-8859-1 & Quoted-printable
  • bodyCharset : ISO-8859-1 & 8 bits
mail mode UTF8 US-ASCII_UTF8_QP

headerCharset & bodyCharset : US-ASCII si possible, sinon UTF-8 & Quoted-printable (valeur par défaut)

mail mode UTF8 in base64 US-ASCII_UTF8_B64

headerCharset & bodyCharset : US-ASCII si possible, sinon UTF-8 & base64

bodyCharsetTexte(optionnel) Charset et encodage utilisés pour le contenu html et du corps du mail. Valeurs possibles : Identiques à celles de headerCharset (voir ci-dessus)

(*) Si authenticationMode est null ou non défini, le mode d'authentification le plus sécurisé pris en charge par le serveur est utilisé.

(**) Les ports SMTP sécurisés disponibles sont :

  • 465: SMTPS
  • 587 ou 25: SMTP avec la mise à niveau STARTTLS si elle est prise en charge par le serveur.

(***) Contrairement aux fichiers d'historique classiques (obtenus via la commande SET DATABASE PARAMETER), les fichiers d'historique étendus stockent le contenu MIME de tous les e-mails envoyés et ne sont pas limités par des contraintes de taille. Pour plus d'informations, veuillez consulter la section 4DSMTPLog.txt.

Objet retourné

L'objet transporteur retourné contient les propriétés et méthodes en lecture seule suivantes :

PropriétéTypeDescription
transporteur.hostTexteNom ou adresse IP du serveur hôte utilisé pour les transactions SMTP.
transporteur.portNumériquePort utilisé pour les transactions SMTP.
transporteur.keepAliveBooleanVrai si la connexion reste active jusqu'à la suppression de l'objet transporteur.
transporteur.connectionTimeOutNumériqueTemps d'attente maximal (en secondes) pour établir une connexion au serveur.
transporteur.sendTimeOutNumériqueTemps d'attente maximal (en secondes) d'un appel sendMail
transporteur.acceptUnsecureConnectionBooléenVrai si 4D est autorisé à établir une connexion non cryptée lorsque la connexion cryptée est impossible, sinon Faux.
transporteur.authenticationModeTexteMode d'authentification utilisé pour ouvrir la session sur le serveur SMTP.
transporteur.userTexteNom d'utilisateur pour l'authentification sur le serveur.
transporteur.logFileTexteChemin complet du fichier d'historique (le cas échéant).
transporteur.headerCharsetTextCharset et encodage utilisés pour l'en-tête et les noms du mail
transporteur.bodyCharsetTextCharset et encodage utilisés pour le corps du mail

 

MéthodeDescription
SMTP_transporteur.send( )Envoie des messages.
SMTP_transporteur.checkConnection( )Vérifie l'authentification.

Notez que cette commande n'ouvre pas de connexion au serveur SMTP. La connexion SMTP est ouverte lorsque la méthode SMTP_transporteur.send( ) est exécutée.

La connexion SMTP est automatiquement fermée :

  • lorsque l'objet transporteur est supprimé si la propriété keepAlive est définie sur vrai (par défaut),
  • après chaque exécution de méthode SMTP_transporteur.send( ) si la propriété keepAlive est définie sur faux.

Exemple  

 $server:=New object
 $server.host:="smtp.gmail.com" //Obligatoire
 $server.port:=465
 $server.user:="4D@gmail.com"
 $server.password:="XXXX"
 $server.logFile:="LogTest.txt" // Historique étendu à sauvegarder dans le dossier Logs
 
 $transporter:=SMTP New transporter($server
 
 $email:=New object
 $email.subject:="mon premier e-mail "
 $email.from:="4d@gmail.com"
 $email.to:="4d@4d.com;test@4d.com"
 $email.textBody:="Hello World"
 $email.htmlBody:="<h1>Hello World</h1><h4>'Neque porro quisquam est qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit...'</h4>\
 <p>There are many variations of passages of Lorem Ipsum available."\
 +"The generated Lorem Ipsum is therefore always free from repetition, injected humour, or non-characteristic words etc.</p>"
 
 $status:=$transporter.send($email)
 If(Not($status.success))
    ALERT("Une erreur est survenue pendant l'envoi de l'e-mail : "+$status.statusText)
 End if



Voir aussi  

MAIL Convert to MIME
SMTP_transporteur.checkConnection( )
SMTP_transporteur.send( )
transporteur.acceptUnsecureConnection
transporteur.authenticationMode
transporteur.connectionTimeOut
transporteur.host
transporteur.keepAlive
transporteur.logFile
transporteur.port
transporteur.sendTimeOut
transporteur.user

 
PROPRIÉTÉS 

Produit : 4D
Thème : Mail
Numéro : 1608

Commande(s) éligible(s) à l'exécution dans un process préemptif

 
HISTORIQUE 

New
Créé : 4D v17 R4
Modifié : 4D v17 R5
Modifié : 4D v18

 
UTILISATION DE L'ARTICLE

4D - Langage ( 4D v18)