|
Ce script permet d'effectuer l'ensemble des tâches courantes pour le courrier et les news.
C'est la version planifiée avec connexion automatique de OZNow.hsc.
Il utilise certaines fonctions des modules suivants, présents sur cette page ou dans la distribution d'Hamster-Fr :
Il utilise également Fai.ini qui est le fichier de configuration.
Fai.ini vous permet de changer le paramétrage de vos fournisseurs d'accès et de vos serveurs sans avoir à modifier une seule ligne du script ou des modules.
Grâce à ce script vous pourrez :
Pratiquement toutes les lignes de ce script sont commentées, ce qui facilite la compréhension mais pas la lecture.
Une version moins commentée est disponible ici.
#!hs2 ##################################################################### # Script : OZPlan.hsm # Description : Envoi et réception planifiés du courrier et des news # La sélection Des FAIs se fait d'après une liste # préférientielle. # Configuration : Les FAIs et les serveurs SMTP ET POP3 sont indiqués # dans le fichier Fai.ini. # Ne pas oublier de configurer aussi Hamster ! # Nécessite : # - Fai.ini # - Fai.hsm # - News.hsm (BStrings.hsm, BMsgHeader.hsm, BFichierTexte.hsm) # - Mail.hsm # # Auteur : Olivier Zolli <ozolli@online.fr> # Version : 15/02/01 ##################################################################### # Chargement des modules nécessaires. #!load Fai.hsm #!load News.hsm #!load Mail.hsm # Remise à zéro des compteurs et de l'écran log HamMessage(2,0) # Remise à zéro des entrées de planification AtClear # Lancement du planificateur # Appel de la fonction Traitement de 8:00 h, à 19:00 h, # du lundi au vendredi, toutes les 60 minutes AtAdd(Traitement,"08:00","19:00","1111100",60) # Appel de la fonction Traitement à midi, samedi et dimanche AtAdd(Traitement,"12:00","","0000011") # Ecrit un message dans l'écran log print( "Script OZPlan activé" ) # Attend qu'une des 2 entrées de planification se déclenche et # exécute la fonction qui lui est associée (Traitement) AtExecute # Fin du script. Ne devrait jamais être lu puisque la # planification est sensée être infinie quit # Connexion, envoi, réception et déconnexion : Traitement sub Traitement print("SCRIPT EN COURS DE TRAITEMENT") # Déclaration et initialisation des variables VarSet($CxHamster,True) # Préparation des articles # News Jobs EnteteNews HamNewsJobsClear HamNewsJobsPostDef HamNewsJobsPullDef HamWaitIdle # Teste si un FAI est déja connecté if(RasIsConnected) $CxHamster=False print("Déja connecté à "+RasGetConnection) # Sinon else # Répète les instructions qui suivent (jusqu'à until) repeat # Connexion au 1er FAI de la liste (Fai.ini) qui répond cxmulti # Si connexion établie if(RasIsConnected) print("Connecté à "+RasGetConnection) # Sinon else # Ecrit un message d'avertissement dans le log Warning("Le script OZPlan n'a pas pu se connecter, _ reconnection dans 25 minutes.") # Attente de 25 minutes sleep(1500000) # Fin de condition Si connexion établie endif # Jusqu'à établissement d'une connexion until(RasIsConnected) Fin de condition Si un FAI est déja connecté endif # Connexion au(x) serveur(s) de news. HamNewsJobsStart # Envoi du courrier en instance. EnvoieCourrier # Réception du courrier. RecoitCourrier # Déconnexion du FAI si c'est OZPlan qui s'est connecté if($CxHamster) # Attente de fin des tâches en cours puis déconnexion HamWaitIdle HamRasHangup endif HamWaitIdle print("Traitement du courrier et des news effectué.") # Fin de la fonction, retour au planificateur Endsub