SMTPTransporter
La classe SMTPTransporter
vous permet de configurer des connexions SMTP et d'envoyer des emails par le biais d'objets SMTP transporter.
Objet SMTP Transporter
Les objets SMTP Transporter sont instanciés avec la commande SMTP New transporter. Leurs propriétés et fonctions sont les suivantes :
.acceptUnsecureConnection : Boolean True si 4D est autorisé à établir une connexion non chiffrée |
.authenticationMode : Text le mode d'authentification utilisé pour ouvrir la session sur le serveur de messagerie |
.bodyCharset : Text le jeu de caractères et l'encodage utilisés pour le corps de l'email |
.checkConnection() : Object vérifie la connexion à l'aide des informations stockées dans l'objet transporteur |
.connectionTimeOut : Integer le temps d'attente maximal (en secondes) autorisé pour établir une connexion avec le serveur |
.headerCharset : Text le jeu de caractères et l'encodage utilisés pour l'en-tête de l'email |
.host : Text le nom ou l'adresse IP du serveur hôte |
.keepAlive : Boolean True si la connexion SMTP doit rester active jusqu'à la destruction de l'objet transporter |
.logFile : Text le chemin complet du fichier d'historique qui a été défini (le cas échéant) pour la connexion |
.port : Integer le numéro de port utilisé pour les transactions d'emails |
.send( mail : Object ) : Object envoie l'objet mail au serveur SMTP défini dans l'objet transporter et retourne un objet statut |
.sendTimeOut : Integer le temps d'attente maximum (en secondes) d'un appel à .send() avant le timeout (l'expiration du délai) |
.user : Text le nom d'utilisateur employé pour l'authentification sur le serveur de messagerie |
SMTP New transporter
Historique
Release | Modifications |
---|---|
18 | Nouvelle propriété logFile |
17 R5 | Nouvelles propriétés bodyCharset et headerCharset |
17 R4 | Ajout |
SMTP New transporter( server : Object ) : 4D.SMTPTransporter
Paramètres | Type | Description | |
---|---|---|---|
server | Object | -> | Informations sur le serveur IMAP |
Résultat | 4D.SMTPTransporter | <- | objet SMTP transporter |
|
Description
La commande SMTP New transporter
configure une nouvelle connexion SMTP en fonction du paramètre server et renvoie un nouvel objet SMTP transporter. L'objet transporteur retourné sera alors utilisé pour l'envoi d'emails.
Cette commande n'ouvre pas de connexion au serveur SMTP. La connexion SMTP est réellement ouverte lorsque la fonction
.send()
est exécutée.La connexion SMTP est automatiquement fermée :
Dans le paramètre server, passez un objet contenant les propriétés suivantes :
server | Valeur par défaut (si omise) |
---|---|
.acceptUnsecureConnection : Boolean True si 4D est autorisé à établir une connexion non chiffrée | False |
.accessTokenOAuth2 : Text .accessTokenOAuth2 : Object Chaîne ou objet token représentant les informations d'autorisation OAuth2. Utilisé uniquement avec OAUTH2 authenticationMode . Si accessTokenOAuth2 est utilisé mais que authenticationMode est omis, le protocole OAuth 2 est utilisé (si le serveur l'autorise). Non retourné dans l'objet SMTP transporter. | aucun |
.authenticationMode : Text le mode d'authentification utilisé pour ouvrir la session sur le serveur de messagerie | le mode d'authentification le plus sûr pris en charge par le serveur est utilisé |
.bodyCharset : Text le jeu de caractères et l'encodage utilisés pour le corps de l'email | mail mode UTF8 (US-ASCII_UTF8_QP) |
.connectionTimeOut : Integer le temps d'attente maximal (en secondes) autorisé pour établir une connexion avec le serveur | 30 |
.headerCharset : Text le jeu de caractères et l'encodage utilisés pour l'en-tête de l'email | mail mode UTF8 (US-ASCII_UTF8_QP) |
.host : Text le nom ou l'adresse IP du serveur hôte | obligatoire |
.keepAlive : Boolean True si la connexion SMTP doit rester active jusqu'à la destruction de l'objet transporter | True |
.logFile : Text le chemin complet du fichier d'historique qui a été défini (le cas échéant) pour la connexion | aucun |
password : Text Mot de passe utilisateur pour l'authentification sur le serveur. Non retourné dans l'objet SMTP transporter. | aucun |
.port : Integer le numéro de port utilisé pour les transactions d'emails | 587 |
.sendTimeOut : Integer le temps d'attente maximum (en secondes) d'un appel à .send() avant le timeout (l'expiration du délai) | 100 |
.user : Text le nom d'utilisateur employé pour l'authentification sur le serveur de messagerie | aucun |
Résultat
La fonction retourne un objet SMTP transporter. Toutes les propriétés retournées sont en lecture seule.
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" //Log étendu à sauvegarder dans le dossier Logs
var $transporter : 4D.SMTPTransporter
$transporter:=SMTP New transporter($server)
$email:=New object
$email.subject:="my first 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("An error occurred sending the mail: "+$status.message)
End if
4D.SMTPTransporter.new()
4D.SMTPTransporter.new( server : Object ) : 4D.SMTPTransporter
Paramètres | Type | Description | |
---|---|---|---|
server | Object | -> | Informations sur le serveur IMAP |
Résultat | 4D.SMTPTransporter | <- | objet SMTP transporter |
|
Description
La fonction 4D.SMTPTransporter.new()
crée et renvoie un nouvel objet du type 4D.SMTPTransporter
. Elle est identique à la commande SMTP New transporter
(raccourci).
.acceptUnsecureConnection
Historique
Release | Modifications |
---|---|
17 R4 | Ajout |
.acceptUnsecureConnection : Boolean
Description
La propriété .acceptUnsecureConnection
contient True si 4D est autorisé à établir une connexion non chiffrée lorsqu'une connexion chiffrée n'est pas possible.
Elle contient False si les connexions non chiffrées ne sont pas autorisées, auquel cas une erreur est retournée lorsque la connexion chiffrée n'est pas possible.
Ports sécurisés disponibles :
-
SMTP
- 465: SMTPS
- 587 ou 25 : SMTP avec mise à niveau STARTTLS si le serveur le prend en charge.
-
IMAP
- 143 : Port IMAP non chiffré
- 993 : IMAP avec mise à niveau STARTTLS si le serveur le prend en charge
-
POP3
- 110 : Port POP3 non chiffré
- 995 : POP3 avec mise à niveau STARTTLS si le serveur le prend en charge.
.authenticationMode
Historique
Release | Modifications |
---|---|
17 R4 | Ajout |
.authenticationMode : Text