Modules d'exemple 



Mail.hsm

Ce module contient des fonctions permettant l'envoi et la relève du courrier.
EnvoieCourrier consiste en une boucle qui va lire Fai.ini, section [SMTP], pour trouver le bon couple FAI-Serveur SMTP. Si ce couple est trouvé la fonction envoie le courrier, sinon la boucle recommence avec une autre ligne SMTP.
RecoieCourrier fonctionne de façon quasiment identique sauf qu'elle ne recherche pas de couple et traite toutes les lignes de Fai.ini, section [POP].
Chaque ligne correspond à un compte mail distant (une boite aux lettres).
Pratiquement toutes les lignes de ce module sont commentées, ce qui facilite la compréhension mais pas la lecture.
Une version non commentée est disponible ici



#####################################################################
# Module : Mail.hsm
# Description : Fonctions de traitement du courrier
# Auteur : Olivier Zolli <ozolli@online.fr>
# Version : 03/02/01
#####################################################################

# Procédure d'initialisation du module 
# Attention : La ligne qui suit n'est pas un commentaire ! 
#!initialize
  debug( 255, "<<< module 'Mail.hsm' >>>" )
Return(0)

#####################################################################
# EnvoieCourrier : Envoie le courrier en instance avec le serveur
#                  SMTP du FAI connecté. Le choix se fait grâce à la
#                  section [SMTP] de Fai.ini
# [Entrée] : Aucune
# [Sortie] : Aucune
#####################################################################

# Début de la fonction 
sub EnvoieCourrier

# Déclaration et initialisation des variables 
var($Smtp,$NomFai,$Serveur,$Port)
varset($I,0)

# Début de la boucle do ... loop 
do

  # Incrémentation du compteur 
  inc($I)

  # Lecture du fichier Fai.ini, section [SMTP], ligne SMTP<valeur du
  # compteur> et écriture du résultat dans $Smtp 
  $Smtp=iniread(Hampath+"Fai.ini","SMTP","SMTP"+$I,0)

  # Sortie de la boucle s'il n'y a plus de ligne SMTP 
  break($Smtp=0)

  # Découpage de $Smtp en 3 variables : $NomFai, $Serveur et $Port
  # Le découpage se fait au niveau des virgules grâce à une expression
  # régulière (regex)
  RE_Split($Smtp,", *",$NomFai,$Serveur,$Port)

  # Si la connexion active = $NomFai alors exécute les lignes suivantes
  if(RasGetConnection=$NomFai)

    # Envoi du courrier suivant les paramètres de Fai.ini
    HamSendMail($Serveur,$Port)

    # Sortie de la boucle
    break

  # Fin de la condition if
  endif

# Fin de la boucle, retour au début (do) 
loop

# Fin de la fonction 
endsub

#####################################################################
# RecoitCourrier : Reçoit le courrier de tous les serveurs présents
#                  Dans Fai.ini section [POP]
# [Entrée] : Aucune
# [Sortie] : Aucune
#####################################################################

# Début de la fonction 
sub RecoitCourrier

# Déclaration et initialisation des variables 
var($Pop,$Serveur,$Port,$Util,$Pass,$compte,$Filtre)
varset($I,0)

# Début de la boucle do ... loop 
do

  # Incrémentation du compteur 
  inc($I)

  # Lecture du fichier Fai.ini, section [POP], ligne POP<valeur du 
  # compteur> et écriture du résultat dans $Pop 
  $Pop=iniread(Hampath+"Fai.ini","POP","POP"+$I,0)

  # Sortie de la boucle s'il n'y a plus de ligne POP 
  break($Pop=0)

  # Découpage de $Pop en 6 variables : $Serveur, $Port, $Util, $Pass,
  # $compte et $Filtre.
  # Le découpage se fait au niveau des virgules grâce à une expression
  # régulière (regex)
  RE_Split($Pop,", *",$Serveur,$Port,$Util,$Pass,$compte,$Filtre)

  # Réception du courrier suivant les paramètres de Fai.ini
  HamFetchMail($Serveur,$Port,$Util,$Pass,$compte,$Filtre)

# Fin de la boucle, retour au début (do) 
loop

# Fin de la fonction 
endsub




 Sommaire 


© 2000-2001 Brina & Olivier Zolli

Dernière mise à jour le 22/02/2001