(Courriels de diversion: <fute@empêcheur-reintroduisions.com> <habitable@attente-sous-chef.com> <touche@extenuerais-alliance.com> <excedera@misions-club.com> <indexa@impopulaire-reflechisse.com> <entachant@cautionnerez-reecrivait.com> <monteront@passereau-preconisait.com> <tergiversais@ironiseraient-devots.com> <redisions@chercher-renflouerions.com> <insinuons@rivalise-alarmeront.com> )


Olivier ROSSEL wrote:
Est-ce que tu saurais par hasard comment on fait pour lancer une
connexion a son provider, recuperer les mails, envoyer les mails et se
deconnecter automatiquement.
Ce qui me pose probleme c'est surtout la deconnexion automatique.
Comment faire pour detecter le fait que fetchmail a tout recupere et que
qmail a tout envoye?

Si t'as une idee la-dessus?

Voici ma solution :

Tu ecris un script de connexion qui t'ouvre une connexion chez ton provider. Dans ce script tu lance pppd, tu fais une pause maniere d'attendre que la connection soit etablie, tu envois tes messages en liste d'attente dans /var/spool/qmail, tu lances fetchmail et pour finir tu tues pppd. Voila c'est simple non ?, je te donne le script ci dessous, il devrait marcher.

$ cat mail-script
------------
#!/bin/bash

# Lancement du daemon pppd : attention la commande qui suit doit tenir sur une
# seule et meme ligne

# -- debut de la commande --
/usr/sbin/pppd connect '/usr/sbin/chat "" ATM0DTxxxxxxxxxx CONNECT "" ogin: ton_login word: ton_password' /dev/cua1 115200 modem crtscts debug defaultroute : &
# -- fin de la commande --

# on laisse un delais pour que la connexion s'effectue (environ 15 a 30 secondes, a
# voir en fonction du provider)
sleep 15

# tu envoies tes mails en liste d'attente dans le spool de qmail
kill -ALRM $(pidof qmail-send)

# tu recuperes tes mails chez ton provider
/usr/bin/fetchmail

# Attente de la fin des envois de qmail
# requier de mettre un suid root a /usr/sbin/qmail-qstat
while [ 1 ] # boucle sans fin
do
   /usr/sbin/qmail-qstat > ~/.qmail-qstat-result
   if [ $(head -1 ~/.qmail-qstat-result  | cut -c20-25) -gt 0 ]
   then
      sleep 5
   else
     break
  fi
done

# tu attends que fetchmail te rends la main et tu te deconnectes
kill -9 $(pidof pppd)
 

Si quelqu'un a une autre solution, je suis preneur.
--

David HUBERSON

http://www.chez.com/huberson
http://huberson.citeweb.net

Tel : 06.83.24.31.12 
mail : huberson@chez.com
           huberson@citeweb.net
Technicien Administration
Systèmes & Réseaux 
ICQ : #39228799 
Curriculum Vitae