Up ! Mail Service

Ce programme présente l'usage d'Up ! Mail Service en tant que serveur d'application gérant des courriers électroniques.

Les fichiers sources sont dans ${UPS_HOME}/upsnet/demo/${UPS_LANGUAGE}/appmls/.

Configuration d'Up ! Mail Service

; -------------------------------------------------------------------
; Fichier : upssrv.ini
; Objet : Initialisation d'Up ! Server.
;
; Module : Up ! Application System.
; Auteur-Date : DUVAL Jean-Pierre - Novembre 2003.
; -------------------------------------------------------------------
; Observations
;
;
; -------------------------------------------------------------------

[UpsMls]
NbServeurs=1
ServiceDefaut=Non
TracerCommunication=Oui
URIServeurImap=imap://local:143
URIServeurPop=pop://local:110
URIServeurSmtp=smtp://local:25

[appmls]
ActiverJournal=Oui

Mode compilé

Commande de compilation

upscmp Source=client.upl
upscmp Source=appmls.upl

Commande d'exécution

Exécution du serveur

upssrv PasDOrb=Oui Module1=UpsFts Module2=appmls

Exécution du client

client NbServeurs=0

Mode interprété

Exécution du serveur

upssrv PasDOrb=Oui Module1=UpsFts Module2=appmls

Exécution du client

upssng Source=client.upl NbServeurs=0

Fichier source

Source du client

Source Composant "Exemple d'emploi d'Up ! Mail Service" Version 4.0.0;

ImporterModule
/************/
Variable
/******/
Prive :
/*****/
Fonction ChercherUtilisateur(NomDeLUtilisateur : Caractere) Retourner Nul Ou Utilisateur
/**************************************************************************************/
Variable
/******/
Debut
Si NomDeLUtilisateur==Nul Alors Fin Si
U=Utilisateur.EnumererObjets(Nul);
TantQue U!=Nul Faire Fin TantQue
Fin Fonction

Procedure AfficherCourrier(Courrier: Nul Ou CourrierElectronique)
/***************************************************************/
Variable
/******/
Debut
Pour C3=Courrier.Emetteurs.ParcoursAuDebut() JusquA Courrier.Emetteurs.DernierElement() Faire Fin Pour
Pour C3=Courrier.Destinataires.ParcoursAuDebut() JusquA Courrier.Destinataires.DernierElement() Faire Fin Pour
Si Courrier.DestinatairesCopie!=Nul Alors Fin Si
Si Courrier.DestinatairesCaches!=Nul Alors Fin Si
Si Courrier.DestinataireReponse!=Nul Alors Fin Si
Ecran.Ecrire("Date: "+Caractere(Courrier.DateEnvoi));
Ecran.Ecrire("Message-ID: "+Courrier.Identifiant);
Si Courrier.MotsCle!=Nul Alors Fin Si
Si Courrier.References!=Nul Alors Fin Si
Ecran.Ecrire("Subject: "+Courrier.ObjetDuCourrier);
E2=Courrier.EntitePrimaire;
Si E2!=Nul Alors Fin Si
Si Courrier.ListeDEntitesSecondaires!=Nul Alors Fin Si
Ecran.Ecrire(");
Fin Procedure

Principal
/*******/
Variable
/******/
Debut B=BoiteAuxLettresElectronique(ChercherUtilisateur("scott"));
C=B.CreerCourrierElectronique("Objet du courrier", Faux, "scott@local");
F=Fichier("/tmp/texte.txt", LectureTexte);
E=EntiteContenuInternet(ContenuTextPlain, IFlux(F));
F.Fermer();
C.ModifierEntitePrimaire(E);
F=Fichier("/tmp/essai.doc", LectureBinaire);
E=EntiteContenuInternet(ContenuApplicationMicrosoftWord, IFlux(F));
F.Fermer();
E.ModeEncodage=ModeEncodageBase64Internet;
ListePiecesJointes=ListeDe(E);
F=Fichier("/tmp/essai.xls", LectureBinaire);
E=EntiteContenuInternet(ContenuApplicationMicrosoftExcel, IFlux(F));
F.Fermer();
E.ModeEncodage=ModeEncodageBase64Internet;
ListePiecesJointes+=E;
C.ModifierListeDEntitesSecondaires(ListePiecesJointes);
E=Nul;
ListePiecesJointes=Nul;
C.AjouterDestinaire("allen@local", Faux, Faux);
C.AjouterDestinaire("clark@local", Faux, Faux);
C.ChangerEtat(CourrierAEnvoyer);

B.EnvoyerCourriersElectroniques();

S=ServeurMessageriePop("pop://local:110", "allen", ");
S.RecevoirCourriersElectroniques(B);

ListeCourriers=B.ListerCourriersElectroniques(CourrierNonLu);
Si ListeCourriers!=Nul Alors Fin Si

B.Supprimer();

Fin Principal

Source du module du serveur

Source Module "Exemple d'emploi d'Up ! Mail Service" Version 4.0.0 ModuleDynamique;

Composant Dans "appmls1.upl";