• Aucun résultat trouvé

Tous les autres noms de produits ou appellations sont des marques déposées ou des noms commerciaux appartenant à leurs propriétaires respectifs.

N/A
N/A
Protected

Academic year: 2022

Partager "Tous les autres noms de produits ou appellations sont des marques déposées ou des noms commerciaux appartenant à leurs propriétaires respectifs."

Copied!
5
0
0

Texte intégral

(1)

Envoi d'e-mail

Par

Mélinda GALLO, 4D Today Note technique 4D-200210-32-FR Version 1

Date 10 Octobre 2002

Résumé

Cette note technique explique comment envoyer un email à partir d’un serveur de messagerie qui nécessite l’authentification. Au lieu d’utiliser la commande

4D Notes techniques

Copyright © 1985-2003 4D SA - Tous droits réservés

Tous les efforts ont été faits pour que le contenu de cette note technique présente le maximum de fiabilité possible.

Néanmoins, les différents éléments composant cette note technique, et le cas échéant, le code, sont fournis sans garantie d'aucune sorte.

L'auteur et 4D S.A. déclinent donc toute responsabilité quant à l'utilisation qui pourrait être faite de ces éléments, tant à l'égard de leurs utilisateurs que des tiers.

Les informations contenues dans ce document peuvent faire l'objet de modifications sans préavis et ne sauraient en aucune manière engager 4D SA. La fourniture d u logiciel décrit dans ce document est régie par u n octroi de licence dont les termes sont précisés par ailleurs dans la licence électronique figurant sur le support d u Logiciel et de la Documentation afférente. Le logiciel et sa documentation ne peuvent être utilisés, copiés o u reproduits sur quelque support que ce soit et de quelque manière que ce soit, que conformément aux termes de cette licence.

Aucune partie de ce document ne peut être reproduite o u recopiée de quelque manière que ce soit, électronique o u mécanique, y compris par photocopie, enregistrement, archivage o u tout autre procédé de stockage, de traitement et de récupération d'informations, pour d'autres buts que l'usage personnel de l'acheteur, et ce exclusivement aux conditions contractuelles, sans la permission explicite de 4D SA.

4D, 4D Calc, 4D Draw, 4D Write, 4D Insider, 4ème Dimension ®, 4D Server, 4D Compiler ainsi que les logos 4e Dimension, sont des marques enregistrées de 4D SA.

Windows,Windows NT,Win 32s et Microsoft sont des marques enregistrées de Microsoft Corporation.

Apple, Macintosh, Power Macintosh, LaserWriter, ImageWriter, QuickTime sont des marques enregistrées o u des noms commerciaux de Apple Computer,Inc.

Mac2Win Software Copyright © 1990-2002 est un produit de Altura Software,Inc.

4D Write contient des éléments de "MacLink Plus file translation", un produit de DataViz, Inc,55 Corporate drive,Trumbull,CT,USA.

XTND Copyright 1992-2002 © 4D SA. Tous droits réservés.

XTND Technology Copyright 1989-2002 © Claris Corporation.. Tous droits réservés ACROBAT © Copyright 1987-2002, Secret Commercial Adobe Systems Inc.Tous droits réservés. ACROBAT est une marque enregistrée d'Adobe Systems Inc.

Tous les autres noms de produits ou appellations sont des marques déposées ou des noms commerciaux appartenant à leurs propriétaires respectifs.

(2)

Email_QuickSend

par Melinda Gallo (Routines écrites par Dave Batton)

Dans la version 6.8.2 b2 des Internet Commands, une nouvelle commande, SMTP_Auth, y a été ajoutée. Avec celle-ci, vous pouvez faire l’authentification du serveur SMTP lors de l’envoi des emails.

Cette note technique explique comment envoyer un email à partir d’un serveur de messagerie qui nécessite l’authentification. Au lieu d’utiliser la commande SMTP_QuickSend qui ne nécessite pas l’authentification, vous pouvez remplacer vos appels àSMTP_QuickSend par la routineEmail_QuickSend en ajoutant le mot de passe en dernier paramètre.

Base exemple

Voici un exemple d’utilisation de Email_QuickSend qui remplace la commande SMTP_QuickSend.

1. Lancez la base Démo Email.

La fenêtre suivante s’affiche :

2. Saisissez le nom du host de l’expéditeur (serveur SMTP).

Cette valeur doit être au format “mail.host.com”.

3. Saisissez l’adresse email de l’expéditeur.

Ensuite, vous devez saisir le mot de passe de ce compte email après avoir cliqué sur le bouton Envoyer.

4. Saisissez l’adresse email du destinataire, le sujet de l’email, et le message.

Tous ces champs sont obligatoires.

5. Cliquez sur le bouton Envoyer.

La fenêtre suivante s’affiche :

(3)

Le mot de passe est vérifié par le serveur SMTP. S’il est correct, l’email est envoyé au destinataire.

Structure

Dans la base exemple, nous avons un seul formulaire, “envoiEmail” :

Méthode formulaire

Dans la méthode formulaire, nous initialisons les variables du formulaire : Au cas ou

: (Evenement formulaire=Sur chargement )

C_ALPHA(80;vnomHost;vexpéditeur;vdestinataire;vsujet) C_TEXTE(vmessage)

vnomHost:=" "

vexpéditeur:=" "

vdestinataire:=""

vsujet:=""

vmessage:="Voici un MESSAGE qui sera envoyé par la fonction Email_QuickSend."

Fin de cas

(4)

Méthode objet du bouton Envoyer

Dans la méthode objet du bouton Envoyer, nous vérifons que tous les champs ont été bien remplis et puis nous appelons la méthode envoyerEmail :

Au cas ou : (vnomHost="")

ALERTE("Il faut saisir le nom du host.") : (vexpéditeur="")

ALERTE("Il faut saisir votre adresse email.") : (vdestinataire="")

ALERTE("Il faut saisir une adresse email à laquelle il faut envoyer ce MESSAGE.") : (vsujet="")

ALERTE("Il faut saisir un sujet.") : (vmessage="")

ALERTE("Il faut saisir un MESSAGE.") Sinon

envoyerEmail (vnomHost;vexpéditeur;vdestinataire;vsujet;vmessage) Fin de cas

Méthode envoyerEmail

Cette méthode objet du bouton Envoyer, nous vérifons que tous les champs ont été bien remplis et puis nous appelons la méthode envoyerEmail. La syntaxe de cette méthode ressemble à celle de la commande SMTP_QuickSend sauf qu’il y a un paramètre supplémentaire pour passer le mot de passe.

C_ALPHA(80;$1;$2;$3;$4;$nomHost;$expéditeur;$destinataire;$sujet) C_TEXTE($5;$message)

$nomHost:=$1

$expéditeur:=$2

$destinataire:=$3

$sujet:=$4

$MESSAGE:=$5

$motdepasse:=Demander("Saisissez votre mot de passe : ") Si (OK=1)

$error:=Email_QuickSend ($nomHost;$expéditeur;$destinataire;$sujet;$MESSAGE;$motdepasse) Fin de si

Email_QuickSend

Email_QuickSend (nomHost; expéditeur; destinataire; sujet; message; motdepasse) ParamètreType Description

nomHost Alpha Le nom du serveur SMTP expéditeur Alpha L’adresse email de l’expéditeur destinataireAlpha L’adresse email du destinataire sujet Alpha Le sujet de l’email

message Texte Le message de l’email

motdepasse Alpha Le mot de passe de l’adresse expéditeur

La méthode Email_QuickSend vous permet d’envoyer un email avec le sujet et message à destinataire du compte emailexpéditeur. Si votre serveur SMTP nécessite l’authentification, vous passez motdepasse. Sinon, utilisez la routine SMTP_QuickSend.

(5)

$smtpServer:=$1

$expéditeur:=$2

$destinataire:=$3

$sujet:=$4

$MESSAGE:=$5

$motdepasse:=$6

` Créer l'en-tête et vérifier qu'aucune erreur n'est survenue ` Email_HandleSMTPError est un wrapper qui traite les erreurs

` Cette méthode accepte le nom de la commande et le résultat en tant que ` paramètres et renvoie un booléen.

` Si elle renvoie Vrai, elle s'est exécutée avec succès. Sinon, elle renvoie ` Faux. De plus, elle fixe la variable système Error

Au cas ou

: (Non(Email_HandleSMTPError ("SMTP_New";SMTP_New ($smtpID))))

: (Non(Email_HandleSMTPError ("SMTP_Host";SMTP_Host ($smtpID;$smtpServer)))) `

: (Non(Email_HandleSMTPError ("SMTP_Auth";SMTP_Auth ($smtpID;$expéditeur; $motdepasse)))) : (Non(Email_HandleSMTPError ("SMTP_From";SMTP_From ($smtpID;$expéditeur))))

: (Non(Email_HandleSMTPError ("SMTP_To";SMTP_To ($smtpID;$destinataire)))) : (Non(Email_HandleSMTPError ("SMTP_Subject";SMTP_Subject ($smtpID;$sujet)))) : (Non(Email_HandleSMTPError ("SMTP_Body";SMTP_Body ($smtpID;$MESSAGE;2)))) Sinon

Email_HandleSMTPError ("SMTP_Send";SMTP_Send ($smtpID)) Si ($smtpID#0)

Email_HandleSMTPError ("SMTP_Clear";SMTP_Clear ($smtpID)) Fin de si

Fin de cas

$0:=Error ` Renvoyer l'erreur

Email_HandleSMTPError

Email_HandleSMTPError (commande; erreur) -> Booléen Paramètre Type Description

commande Texte Le nom de la commande exécutée erreur Entier long Le numéro de l’erreur

La méthode Email_HandleSMTPError, qui est une routine “wrapper”, renvoie le numéro d’erreur dans la variable système ErrorS iune erreur est survenue. Cette routine renvoie Vrai S i aucune erreur n’est survenue.

Sinon elle renvoie Faux.

Cette méthode est appelée dans la méthode Email_QuickSend à chaque appel à des Internet Commands. S i une erreur survient, une ALERTE s’affiche indiquant le numéro de l’erreur et la commande qui a provoqué l’erreur.

Voici le code de la routine Email_HandleSMTPError :

C_BOOLEEN($0)

C_TEXTE($1;$commande) C_ENTIER LONG($2;$erreur)

$commande:=$1 `Nom de la commande

$erreur:=$2 `Numéro de l'erreur (zéro si aucune erreur n'est survenue) Si ($erreur=0) `Pas d'erreur

$0:=Vrai

Sinon `Une erreur est survenue

$0:=Faux

ALERTE ("Erreur e-mail : "+Chaine($erreur))

Error:=$erreur `Renvoyer le numéro de l'erreur dans la variable système Error Fin de si

Références

Documents relatifs

Toutes les autres marques déposées et noms commerciaux sont reconnus par les présentes et sont la propriété de leurs propriétaires respectifs.. Photos

✗ Sept noms en -ou se terminent en -oux au pluriel: des hiboux, des joujoux, des poux, des bijoux, des caillloux, des choux, des genoux. ✗ Certains noms ont un singulier et un

Je change complètement le nom : les noms masculins et féminins sont totalement différents.. Je ne change rien : les noms masculins et féminins

On recommande donc les deux méthodes spécifiques pour la transposition des noms des réseaux, de leurs adresses, et des sous réseaux, ainsi que comme instance de

Un serveur de noms peut mettre en antémémoire les structures ou informations établies sur toute partie de l'arborescence des domaines, mais en général, un certain serveur de noms a

La commande HELO étant suivi pour l’instant du nom super-spam vos messages devraient être rejetés par la règle reject_invalid_hostname. Modifiez de nouveau le fichier spam.tmp afin

- le 2ème groupe: l'infinitif se termine par -ir et fait -issons avec nous.. - le 3ème groupe : tous les autres

Utilisez Claws-Mail pour Envoyer un nouveau message à prof@domprof.net avec comme sujet : SUITE TP VMID et comme contenu l'adresse MAC de la première carte réseau de votre serveur