Les fichiers sources sont dans ${UPS_HOME}/upsnet/demo/${UPS_LANGUAGE}/clientmls/.
; -------------------------------------------------------------------
; Fichier : upsmls.ini
; Objet : Initialisation d'Up ! Mail Service.
;
; Module : Up ! Application System.
; Auteur-Date : DUVAL Jean-Pierre - Novembre 2003.
; -------------------------------------------------------------------
; Observations
;
;
; -------------------------------------------------------------------
[UpsMls]
NbClients=8
NbServeurs=1
URIServeurImap=imap://local:143
URIServeurPop=pop://local:110
URIServeurSmtp=smtp://local:25
[UpsNet]
GardeReseau=3600
NbServeurs=0
[UpsOrb]
AnnuaireLocal=mon-annuaire
[UpsSec]
Securite=ma-securite
/* ------------------------------------------------------------------- */
/* Fichier : masecurite-monannuaire.upl */
/* Objet : Exemple d'emploi d'Up ! 5GL. */
/* */
/* Module : Up ! Application System. */
/* Auteur-Date : DUVAL Jean-Pierre - Novembre 2003. */
/* ------------------------------------------------------------------- */
/* Observations */
/* */
/* */
/* ------------------------------------------------------------------- */
Source Securite "Exemple de l'emploi des annuaires" Version 4.0.0;
Securite
/******/
Debut
AjouterUtilisateur("scott", "Description de scott", Nul, Nul, Nul);
AjouterUtilisateur("allen", "Description de allen", Nul, Nul, Nul);
AjouterUtilisateur("smith", "Description de smith", Nul, Nul, Nul);
AjouterUtilisateur("clark", "Description de clark", Nul, Nul, Nul);
AjouterUtilisateur("king", "Description de king", Nul, Nul, Nul);
Fin Securite
/* ------------------------------------------------------------------- */
/* Fichier : monannuaire-ajouter.upl */
/* Objet : Exemple d'emploi d'Up ! 5GL. */
/* */
/* Module : Up ! Application System. */
/* Auteur-Date : DUVAL Jean-Pierre - Novembre 2003. */
/* ------------------------------------------------------------------- */
/* Observations */
/* */
/* */
/* ------------------------------------------------------------------- */
Source AnnuaireElectronique "Exemple de l'emploi des annuaires" Version 4.0.0;
AnnuaireElectronique
/******************/
Debut
AjouterAdresseElectronique("allen", "allen@local");
AjouterAdresseElectronique("clark", "clark@local");
AjouterAdresseElectronique("king", "king@local");
AjouterAdresseElectronique("scott", "scott@local");
AjouterAdresseElectronique("scott", "contact@local");
AjouterAdresseElectronique("smith", "smith@local");
AjouterAbonnementElectronique("info", "info@local", "Informations générales");
AjouterAbonne("info", "allen@local");
AjouterAbonne("info", "clark@local");
AjouterAbonne("info", "king@local");
AjouterAbonne("info", "scott@local");
Fin AnnuaireElectronique
upscmp Source=clientmls.upl
upssrv PasDOrb=Oui Module1=UpsMls
clientmls NbServeurs=0
upssrv PasDOrb=Oui Module1=UpsMls
upssng Source=clientmls.upl NbServeurs=0
Source Composant "Exemple d'emploi d'Up ! Mail Service" Version 4.0.0;
ImporterModule
/************/
UpsWww(<UpsWww>, ImporterDefinitions);
UpsMls(<UpsMls>, ImporterDefinitions);
Variable
/******/
B : Nul Ou BoiteAuxLettresElectronique;
C : Nul Ou CourrierElectronique;
C2 : Nul Ou CourrierElectronique;
F : Nul Ou Fichier;
E : Nul Ou EntiteContenuInternet;
ListePiecesJointes : Nul Ou ListeDe Nul Ou EntiteContenuInternet;
Prive :
/*****/
Fonction ChercherUtilisateur(NomDeLUtilisateur : Caractere) Retourner Nul Ou Utilisateur
/**************************************************************************************/
Variable
/******/
U : Nul Ou Utilisateur;
Debut
Si NomDeLUtilisateur==Nul Alors
Retourner Nul;
Fin Si
U=Utilisateur.EnumererObjets(Nul);
TantQue U!=Nul Faire
Si U.Nom==NomDeLUtilisateur Alors
Retourner U;
Fin Si
U=Utilisateur.EnumererObjets(U);
Fin TantQue
Fin Fonction
Procedure AfficherCourrier(Courrier: Nul Ou CourrierElectronique)
/***************************************************************/
Variable
/******/
C3 : Caractere;
E2 : Nul Ou EntiteContenuInternet;
L : Nul Ou Caractere;
Debut
Pour C3=Courrier.Emetteurs.ParcoursAuDebut() JusquA Courrier.Emetteurs.DernierElement() Faire
Ecran.Ecrire("From: "+C3);
Fin Pour
Pour C3=Courrier.Destinataires.ParcoursAuDebut() JusquA Courrier.Destinataires.DernierElement() Faire
Ecran.Ecrire("To: "+C3);
Fin Pour
Si Courrier.DestinatairesCopie!=Nul Alors
Pour C3=Courrier.DestinatairesCopie.ParcoursAuDebut() JusquA Courrier.DestinatairesCopie.DernierElement() Faire
Ecran.Ecrire("Cc: "+C3);
Fin Pour
Fin Si
Si Courrier.DestinatairesCaches!=Nul Alors
Pour C3=Courrier.DestinatairesCaches.ParcoursAuDebut() JusquA Courrier.DestinatairesCaches.DernierElement() Faire
Ecran.Ecrire("Cc: "+C3);
Fin Pour
Fin Si
Si Courrier.DestinataireReponse!=Nul Alors
Ecran.Ecrire("Reply-to: "+Courrier.DestinataireReponse);
Fin Si
Ecran.Ecrire("Date: "+Caractere(Courrier.DateEnvoi));
Ecran.Ecrire("Message-ID: "+Courrier.Identifiant);
Si Courrier.MotsCle!=Nul Alors
Pour C3=Courrier.MotsCle.ParcoursAuDebut() JusquA Courrier.MotsCle.DernierElement() Faire
Ecran.Ecrire("Keywords: "+C3);
Fin Pour
Fin Si
Si Courrier.MotsCle!=Nul Alors
Pour C3=Courrier.References.ParcoursAuDebut() JusquA Courrier.References.DernierElement() Faire
Ecran.Ecrire("Reference: "+C3);
Fin Pour
Fin Si
Ecran.Ecrire("Subject: "+Courrier.ObjetDuCourrier);
E2=Courrier.EntitePrimaire;
Si E2!=Nul Alors
F=E2.LireContenu(LectureTexte);
TantQue Non F.FinDeFlux Faire
?=F.LireUneLigne(L);
Ecran.Ecrire(L);
Fin TantQue
F.Fermer();
Fin Si
Si Courrier.ListeDEntitesSecondaires!=Nul Alors
Pour E2=Courrier.ListeDEntitesSecondaires.ParcoursAuDebut() JusquA Courrier.ListeDEntitesSecondaires.DernierElement() Faire
Ecran.Ecrire("Piece jointe: "+Caractere(E2.TypeContenu));
Fin Pour
Fin Si
Ecran.Ecrire(");
Fin Procedure
Principal
/*******/
Variable
/******/
ListeCourriers : Nul Ou ListeDe Nul Ou CourrierElectronique;
Courrier : Nul Ou CourrierElectronique;
S : Nul Ou ServeurMessageriePop;
S2 : Nul Ou ServeurMessagerieImap;
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.AjouterDestinaire("scott@local", Vrai, Faux);
C.AjouterDestinaire("king@local", Vrai, Vrai);
C.ModifierDestinaire("scott@local", "smith@local", Vrai, Faux);
C.SupprimerDestinaire("clark@local", Faux, Faux);
C.AjouterMotCle("Mon mot clé");
C.AjouterMotCle("Mon second mot clé");
C.ModifierMotCle("Mon second mot clé", "Mon autre second mot clé");
C.SupprimerMotCle("Mon autre second mot clé");
C.AjouterReference("Ma référence");
C.AjouterReference("Ma seconde référence");
C.ModifierReference("Ma seconde référence", "Ma autre seconde référence");
C.SupprimerReference("Ma autre seconde référence");
C.ChangerEtat(CourrierAEnvoyer);
C.ChangerEtat(CourrierEnvoye);
C.ChangerEtat(CourrierNonLu);
C.ChangerEtat(CourrierRecu);
C.ChangerEtat(CourrierSupprime);
C.ChangerEtat(CourrierBrouillon);
C.ChangerEtatNonLu(Vrai);
C.ChangerEtatNonLu(Faux);
C.ChangerEtatUrgent(Vrai);
C.ChangerEtatUrgent(Faux);
C.ChangerEtatIndesirable(Vrai);
C.ChangerEtatIndesirable(Faux);
C.ChangerEtatTransfere(Vrai);
C.ChangerEtatTransfere(Faux);
C2=C.Transferer("scott@local", "king@local");
C2.Supprimer();
C2=C.Repondre();
C2.Supprimer();
C.Deplacer("/INBOX");
C2=C.Copier("/DRAFT");
C2.ChangerEtat(CourrierAEnvoyer);
C.ExporterCourrierElectronique("/tmp/mon-courrier.bin");
C=B.ImporterCourrierElectronique("/tmp/mon-courrier.bin", "/DRAFT", Vrai, Faux, Faux, Faux, Faux, Faux, Faux, Faux, Vrai);
ListeCourriers=B.ListerCourriersElectroniques(CourrierAEnvoyer);
Si ListeCourriers!=Nul Alors
Pour Courrier=ListeCourriers.ParcoursAuDebut() JusquA ListeCourriers.DernierElement() Faire
AfficherCourrier(Courrier);
Fin Pour
Fin Si
ListeCourriers=B.ListerCourriersElectroniques("/INBOX");
Si ListeCourriers!=Nul Alors
Pour Courrier=ListeCourriers.ParcoursAuDebut() JusquA ListeCourriers.DernierElement() Faire
AfficherCourrier(Courrier);
Fin Pour
Fin Si
B.EnvoyerCourriersElectroniques();
B.Supprimer();
B=BoiteAuxLettresElectronique(ChercherUtilisateur("scott"));
S=ServeurMessageriePop("pop://local:110", "king", ");
S.RecevoirCourriersElectroniques(B);
ListeCourriers=B.ListerCourriersElectroniques(CourrierNonLu);
Si ListeCourriers!=Nul Alors
Pour Courrier=ListeCourriers.ParcoursAuDebut() JusquA ListeCourriers.DernierElement() Faire
AfficherCourrier(Courrier);
Fin Pour
Fin Si
B.Supprimer();
B=BoiteAuxLettresElectronique(ChercherUtilisateur("scott"));
S2=ServeurMessagerieImap("imap://local:143", "allen", ");
S2.RecevoirCourriersElectroniques(B);
ListeCourriers=B.ListerCourriersElectroniques(CourrierNonLu);
Si ListeCourriers!=Nul Alors
Pour Courrier=ListeCourriers.ParcoursAuDebut() JusquA ListeCourriers.DernierElement() Faire
AfficherCourrier(Courrier);
Fin Pour
Fin Si
B=BoiteAuxLettresElectronique(ChercherUtilisateur("clark"));
C=B.CreerCourrierElectronique("Informations");
F=Fichier("/tmp/texte.txt", LectureTexte);
E=EntiteContenuInternet(ContenuTextPlain,IFlux(F));
F.Fermer();
C.ModifierEntitePrimaire(E);
C.AjouterDestinaire("info@local");
C.ChangerEtat(CourrierAEnvoyer);
B.EnvoyerCourriersElectroniques();
Fin Principal