Léa-Linux & amis :   LinuxFR   GCU-Squad   GNU
notification de réception de mail en console sur Debian

Bonjour,

Qu'est-ce qui, dans la console Debian, vérifie qu'un mail est arrivé ?

Vous savez, ce qui affiche "You have new mail in /var/mail/user" en cours de session, et lors de la connexion "no mail" ou "You have new mail"...

Parceque je suis trop fainéant pour taper la commande 'mail' quand je me connecte, je voudrais que mutt s'ouvre quand j'ai du courrier.

Bien sûr, je pourrais écrire un script qui vérifierait la taille de /var/mail/user, mais puisque 'je ne sais pas quoi' se charge d'afficher qu'il y a du courrier, ou non, je voudrais lui faire faire le boulot !


Poste le Saturday 18 October 2008 09:23:15
Répondre     Citer    
Re: notification de réception de mail en console sur Debian

alors,

il semblerait que le responsable est '/etc/pam.d/login', avec l'instruction
session    optional   pam_mail.so standard
'/lib/security/pam_mail.so' "may be a binary file", et est illisible, donc, en l'état de mes connaissances, pas manipulable pour lui faire éxécuter autre chose.

Vous confirmez ?


Donc, script !
je crois que je l'appellerai 'pêche'... (pour l'invoquer, je ferai `pêche mail nbah`. yawning smiley))

Pour l'instant,
mL=$(LC_ALL=C ls -l /var/mail/nbah |cut -d' ' -f5); [ $mL -gt 0 ] && mutt
dans '.bash_profile' fera office de `pêche`...

Poste le Saturday 18 October 2008 11:37:20
Répondre     Citer    
Re: notification de réception de mail en console sur Debian

Il apparait, à ce qu'on m'a dit sur usenet, et ce que j'ai trouvé sur quelques sites, que c'est bash, tout seul, qui vérifie l'arrivée de nouveaux mails...
Il vérifie le timestamp et la taille du fichier indiqué dans la variable MAIL (que, pour ma part, je ne trouve que dans /etc/login.defs)

Soit.

Mais alors, où puis-je récupérer les valeurs (du timestamp et de la taille de /var/mail/$USER) enregistrées (?) par bash ...
?

Mais, plus que tout, est-il possible d'adapter/modifier le comportement de bash en fonction de ces valeurs ?
(autrement que par l'ajout d'une ligne de test dans .bash_profile)

Poste le Sunday 19 October 2008 20:30:22
Répondre     Citer    
Re: notification de réception de mail en console sur Debian

J'ai écrit :
Citation

Mais alors, où puis-je récupérer les valeurs (du timestamp et de la taille de /var/mail/$USER) enregistrées par bash ...
?
Tu peux pas. En fait, bash n'enregistre pas ces valeurs. Il vérifie seulement certaines conditions :

en gros :
envoi d'un mail à moi-même :
dernier_accès < dernière_modification & taille ! 0
bash écrit : "You have new mail"

éxécution de `mail`, mais je ne lis pas le courrier (ou, je lis le mail et j'y réponds) :
dernier_accès > dernière_modification & taille ! 0
bash écrit : "You have mail"

éxécution de `mail`, et je lis le mail :
dernier_accès < dernière_modification & taille = 0
bash ne considère pas ce cas (qui le ferait, s'il n'a rien à en faire)

Existe-t-il un autre moyen que `stat` pour obtenir les dates de dernier accès et de dernière modification d'un fichier ?


Poste le Friday 24 October 2008 21:16:08
Répondre     Citer    

Veuillez vous authentifier auparavant pour commenter.

 

Ce forum !
notification de réception de mail en console sur Debian
Un problème avec une commande du shell ? Comment utiliser la crontab ? Vous avez des soucis pour la gestion réseau sous Linux ? Pour vous la gestion des utilisateurs/groupes est du chinois ? Etc... Posez donc vos questions ici.

Sauf mention contraire, les documentations publiées sont sous licence Creative-Commons