Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

script, ssh, mail

10 réponses
Avatar
Pierre Allken-Bernard
[débutant]
Bonsoir,
Le serveur (Linux Ubuntu) qui réceptionne mes mails (fetchmail)
m'affiche régulièrement, sans que je le lui demande, des messages du
style :
'You have new mail in /var/mail/pierre'
ou encore :
'You have mail in /var/mail/pierre'
D'où mes questions :
1) Quel démon se charge de m'écrire cela ?
2) Quelle commande permet de récupérer ces booléens ?
3) Si possible, a-t-on une commande pour savoir combien de nouveaux
mails ? Et combien de mails ?
4) J'arrive à ssh : je veux écrire un script sur un client (Debian) qui
aimerait savoir combien de nouveaux mails m'attendent sur le serveur (ou
au moins s'il y a des nouveaux mails). Comment je fais ça ? (en gros,
c'est la question 3) à distance).

Merci d'avance.

Pierre

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/DebFrFrenchLists
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to debian-user-french-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org

10 réponses

Avatar
Strange Fruit
'Soir,

Le lundi 27 octobre 2008 17:53, Pierre Allken-Bernard a écrit :
[débutant]
Bonsoir,
Le serveur (Linux Ubuntu) qui réceptionne mes mails (fetchmail)
m'affiche régulièrement, sans que je le lui demande, des messages du
style :
'You have new mail in /var/mail/pierre'
ou encore :
'You have mail in /var/mail/pierre'
D'où mes questions :
1) Quel démon se charge de m'écrire cela ?



???

2) Quelle commande permet de récupérer ces booléens ?
3) Si possible, a-t-on une commande pour savoir combien de nouveaux
mails ? Et combien de mails ?



from

4) J'arrive à ssh : je veux écrire un script sur un client (Debian) qui
aimerait savoir combien de nouveaux mails m'attendent sur le serveur (ou
au moins s'il y a des nouveaux mails). Comment je fais ça ? (en gros,
c'est la question 3) à distance).



ssh from


Merci d'avance.

Pierre



--
Strange Fruit

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/DebFrFrenchLists
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
Pierre Allken-Bernard
Strange Fruit a écrit :
> 3) Si possible, a-t-on une commande pour savoir combien de nouveaux
> mails ? Et combien de mails ?
from



Exact, from -c m'écrit une phrase du style 'you have 20 mails...'.
Je devrais réussir à récupérer le nombre 20 à partir de là (?).
Ce n'est pas vraiment ce que mutt appelle des nouveaux mails m'enfin...

> 4) J'arrive à ssh : je veux écrire un script sur un client (Debian) qui
> aimerait savoir combien de nouveaux mails m'attendent sur le serveur (ou
> au moins s'il y a des nouveaux mails). Comment je fais ça ? (en gros,
> c'est la question 3) à distance).
ssh from



Simple :-)
Merci

Pierre

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/DebFrFrenchLists
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
fra-duf-no-spam
Le 14179ième jour après Epoch,
Pierre Allken-Bernard écrivait:

[débutant]
Bonsoir,
Le serveur (Linux Ubuntu) qui réceptionne mes mails (fetchmail)
m'affiche régulièrement, sans que je le lui demande, des messag es du
style :
'You have new mail in /var/mail/pierre'
ou encore :
'You have mail in /var/mail/pierre'
D'où mes questions :
1) Quel démon se charge de m'écrire cela ?



Où, comment et quand cela s'affiche-t-il? Plus de détail ne peut pas
nuire :)

2) Quelle commande permet de récupérer ces booléens ?



De quels booléens parles-tu ?

3) Si possible, a-t-on une commande pour savoir combien de nouveaux
mails ? Et combien de mails ?



man from

4) J'arrive à ssh : je veux écrire un script sur un client (Deb ian) qui
aimerait savoir combien de nouveaux mails m'attendent sur le serveur (ou
au moins s'il y a des nouveaux mails). Comment je fais ça ? (en gros,
c'est la question 3) à distance).



Ben pareil, mais à distance... Tu lances un from sur la machine
distante, ou alors j'ai pas tout compris.

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/DebFrFrenchLists
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
Pierre Allken-Bernard
François TOURDE a écrit :
> 'You have new mail in /var/mail/pierre'
> 'You have mail in /var/mail/pierre'
Où, comment et quand cela s'affiche-t-il? Plus de détail ne peut pas
nuire :)



Voici :
D'abord quand je me connecte sur le serveur (par ssh), j'ai :

'Linux [...]
The programs included with the Ubuntu system are free [...]
[...]
You have mail.
Last login: Mon Oct ...'


Le 'You have mail' voulant dire que j'ai des mails dans
/var/mail/pierre.
Mais lorsque je reçois un nouveau mail, j'ai plutôt : 'You have new
mails'.

> 2) Quelle commande permet de récupérer ces booléens ?
De quels booléens parles-tu ?



Je voulais parler d'une commande qui me dirait si j'ai des mail et/ou si
j'ai des nouveaux mails, exactement comme le truc automatique que j'ai
décrit ci-dessus.

> 3) Si possible, a-t-on une commande pour savoir combien de nouveaux
> mails ? Et combien de mails ?
man from



Oui, j'ai vu ça (cf. l'autre réponse), ça ne parle pas de "nouveaux"
mails cependant.

> 4) J'arrive à ssh : je veux écrire un script sur un client (Debian) qui
> aimerait savoir combien de nouveaux mails m'attendent sur le serveur (ou
> au moins s'il y a des nouveaux mails). Comment je fais ça ? (en gros,
> c'est la question 3) à distance).
Ben pareil, mais à distance... Tu lances un from sur la machine
distante, ou alors j'ai pas tout compris.


C'est simplement moi qui n'avais pas bien compris que la commande ssh
peut figurer dans un script.

Pierre

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/DebFrFrenchLists
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
fra-duf-no-spam
Le 14179ième jour après Epoch,
Pierre Allken-Bernard écrivait:

François TOURDE a écrit :
> 'You have new mail in /var/mail/pierre'
> 'You have mail in /var/mail/pierre'
Où, comment et quand cela s'affiche-t-il? Plus de détail ne pe ut pas
nuire :)



Voici :
D'abord quand je me connecte sur le serveur (par ssh), j'ai :

'Linux [...]
The programs included with the Ubuntu system are free [...]
[...]
You have mail.
Last login: Mon Oct ...'


Le 'You have mail' voulant dire que j'ai des mails dans
/var/mail/pierre.
Mais lorsque je reçois un nouveau mail, j'ai plutôt : 'You have new
mails'.



C'est le "shell" qui te dis ça. Il utilise la variable $MAIL pour
savoir quel est le fichier mailbox, et selon qu'il a ou non été
modifié, il te préviens.

Je ne sais plus selon quel mécanisme, par contre.

Je voulais parler d'une commande qui me dirait si j'ai des mail et/ou si
j'ai des nouveaux mails, exactement comme le truc automatique que j'ai
décrit ci-dessus.



Mis à part faire comme la commande en question, c'est à dire note r le
dernier résultat de "from -c" et prévenir si le nouveau est sup érieur,
je vois pas.

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/DebFrFrenchLists
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
Jean-Christophe Dubacq
Pierre Allken-Bernard a écrit :
[débutant]
Bonsoir,
Le serveur (Linux Ubuntu) qui réceptionne mes mails (fetchmail)
m'affiche régulièrement, sans que je le lui demande, des messages du
style :
'You have new mail in /var/mail/pierre'
ou encore :
'You have mail in /var/mail/pierre'
D'où mes questions :
1) Quel démon se charge de m'écrire cela ?



bash lui-même. man bash, puis cherche MAIL, MAILCHECK et MAILPATH

2) Quelle commande permet de récupérer ces booléens ?



bash le fait sans « commandes », mais il est facile de le faire
soi-même: il suffit de comparer le dernier temps d'accès à la boîte à
lettres et le dernier temps de modification (comparer ls -lu et ls -l).
Ces temps s'obtiennent en shell par stat.

3) Si possible, a-t-on une commande pour savoir combien de nouveaux
mails ? Et combien de mails ?



from, comme cité par d'autres. Ou alors grep ^From $MAIL|wc -l est une
bonne approximation pour le nombre de mails. Pour les nouveaux, c'est
assez difficile comme ça car la lecture du fichier de mail pour obtenir
le nombre de mails (que ce soit par from ou grep) suffit à marquer la
boîte comme non-nouvelle. Il faut donc après chercher dans le statut
plus précis de chaque mail (une ligne d'entête est utilisée pour ça:
grep ^Status: $MAIL doit aider) pour trouver les vrais nouveaux.

4) J'arrive à ssh : je veux écrire un script sur un client (Debian) qui
aimerait savoir combien de nouveaux mails m'attendent sur le serveur (ou
au moins s'il y a des nouveaux mails). Comment je fais ça ? (en gros,
c'est la question 3) à distance).



ssh serveur /home/login/bin/monscriptbidule

Mais en fait, il est probablement plus simple dans ce cas d'accéder au
serveur par le service habituel (IMAP, POP) avec nc ou openssl s_client
selon que c'est un accès en POPS/IMAPS ou POP/IMAP, et d'émettre la
commande POP/IMAP qui va bien pour savoir l'état des mails et en déduire
combien il y a de nouveaux.

Ceci dit, c'est sans doute un peu rude pour un débutant.

--
JCD

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/DebFrFrenchLists
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
Pierre Allken-Bernard
Jean-Christophe Dubacq a écrit :
Pierre Allken-Bernard a écrit :
> 1) Quel démon se charge de m'écrire cela ?

bash lui-même. man bash, puis cherche MAIL, MAILCHECK et MAILPATH

> 2) Quelle commande permet de récupérer ces booléens ?

bash le fait sans « commandes », mais il est facile de le faire
soi-même: il suffit de comparer le dernier temps d'accès à la boîte à
lettres et le dernier temps de modification (comparer ls -lu et ls -l).
Ces temps s'obtiennent en shell par stat.

> 3) Si possible, a-t-on une commande pour savoir combien de nouveaux
> mails ? Et combien de mails ?

from, comme cité par d'autres. Ou alors grep ^From $MAIL|wc -l est une
bonne approximation pour le nombre de mails. Pour les nouveaux, c'est
assez difficile comme ça car la lecture du fichier de mail pour obtenir
le nombre de mails (que ce soit par from ou grep) suffit à marquer la
boîte comme non-nouvelle. Il faut donc après chercher dans le statut
plus précis de chaque mail (une ligne d'entête est utilisée pour ça:
grep ^Status: $MAIL doit aider) pour trouver les vrais nouveaux.

> 4) J'arrive à ssh : je veux écrire un script sur un client (Debian) qui
> aimerait savoir combien de nouveaux mails m'attendent sur le serveur (ou
> au moins s'il y a des nouveaux mails). Comment je fais ça ? (en gros,
> c'est la question 3) à distance).

ssh serveur /home/login/bin/monscriptbidule

Mais en fait, il est probablement plus simple dans ce cas d'accéder au
serveur par le service habituel (IMAP, POP) avec nc ou openssl s_client
selon que c'est un accès en POPS/IMAPS ou POP/IMAP, et d'émettre la
commande POP/IMAP qui va bien pour savoir l'état des mails et en déduire
combien il y a de nouveaux.

Ceci dit, c'est sans doute un peu rude pour un débutant.



Oui, mais c'est les vacances, j'ai un peu de temps.
Merci beaucoup.

Pierre

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/DebFrFrenchLists
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
Jacques L'helgoualc'h
Bonjour,

François TOURDE a écrit, mardi 28 octobre 2008, à 00:09 :
Le 14179ième jour après Epoch,
Pierre Allken-Bernard écrivait:


[...]
> Je voulais parler d'une commande qui me dirait si j'ai des mail et/ou si
> j'ai des nouveaux mails, exactement comme le truc automatique que j'ai
> décrit ci-dessus.

Mis à part faire comme la commande en question, c'est à dire noter le
dernier résultat de "from -c" et prévenir si le nouveau est supérieur,
je vois pas.



Il me semble que la méthode consiste à détecter si la dernière lecture
(atime) de la boîte est antérieure à la dernière écriture (mtime) --- un
simple grep la met en défaut.

On peut alors (essayer de) décompter les messages dont le "From " est
postérieur à la dernière lecture.


Je ne vois pas trop l'intérêt de la commande « from » (que j'ignorais :)

- dans un script, il faut filtrer sa sortie

~ $ from -c
There are 0 messages in your incoming mailbox.

=> from -c | awk '{print $3}'

ou équivalent est plus lourd que :

~ $ grep -c ^From "$MAIL"

0


- dans un shell interactif, quand on a l'intention de lire le courrier
en souffrance, Mutt sait n'ouvrir que les boîtes non-vides :

~ $ mutt -zf "$MAIL"
La boîte aux lettres est vide.

Le format maildir simplifie le décompte des courriers à lire, il suffit
en principe de compter les fichiers présents dans maildir/new/ ...
--
Jacques L'helgoualc'h

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/DebFrFrenchLists
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
Pierre Allken-Bernard
Jacques L'helgoualc'h a écrit :
- dans un script, il faut filtrer sa sortie
~ $ from -c
There are 0 messages in your incoming mailbox.
=> from -c | awk '{print $3}'



Oui, j'avais trouvé :
from -c | cut -f3 -d

ou équivalent est plus lourd que :
~ $ grep -c ^From "$MAIL"



Ok, je vais donc utiliser cette dernière commande.

Le format maildir simplifie le décompte des courriers à lire, il suffit
en principe de compter les fichiers présents dans maildir/new/ ...



Oui, je ne sais pas pourquoi ce n'est pas ce format que j'utilise !

Pierre

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/DebFrFrenchLists
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
Jacques L'helgoualc'h
Pierre Allken-Bernard a écrit, mardi 28 octobre 2008, à 16:59 :
Jacques L'helgoualc'h a écrit :
> - dans un script, il faut filtrer sa sortie
> ~ $ from -c
> There are 0 messages in your incoming mailbox.
> => from -c | awk '{print $3}'

Oui, j'avais trouvé :
from -c | cut -f3 -d



Question de goût...

> ou équivalent est plus lourd que :
> ~ $ grep -c ^From "$MAIL"

Ok, je vais donc utiliser cette dernière commande.



grep -c '^From ' "$MAIL"

est plus lisible --- il faut éviter de compter les ^From:

> Le format maildir simplifie le décompte des courriers à lire, il suffit
> en principe de compter les fichiers présents dans maildir/new/ ...

Oui, je ne sais pas pourquoi ce n'est pas ce format que j'utilise !



Dans /var/mail/login l'ancien standard est le mbox --- j'ai eu quelques
rares exemples de pollution (à chaque fois un spam malformé).
--
Jacques L'helgoualc'h

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/DebFrFrenchLists
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact