Bonjour les amies et les amis,
En parcourant le forum de puppylinux (https://forum.puppylinux.com), je suis tombé sur un sujet posté par
wognath (lien : https://www.forum.puppylinux.com/viewtopic.php?p=145312&sid=c3f2ee7ccd97452b131c3d437af28f6c#p145312).
Je l'en remercie.
Il y est question de savoir si un ou plusieurs messages ont été reçus sans ouvrir son client messagerie.
Comment ce prodige est-il possible ?Simplement en utilisant curl et les options adéquates.
Voici quelques liens utiles (en pas français) fournis par
wognath :
- commandes curl pour interroger le serveur des messages entrant : CLIQUEZ ICI ; (https://gist.github.com/akpoff/53ac391037ae2f2d376214eac4a23634)
- d'autres requêtes imap : http://server1.sharewiz.net/doku.php?id=curl:perform_imap_queries_using_curl
Vous y apprendrez, entre autres, quels paramètres saisir si vous utilisez gmail, par exemple.
Ainsi, pourrez-vous personnaliser le petit script joint, si le coeur vous en dit.
Le programme joint utilise
xmessage comme interface graphique et
curl, évidemment.
Avant de l'utiliser, il convient de l'éditer et de mettre à jour la ligne 3 pour y saisir l'adresse du serveur des messages entrants.
Il est possible de commenter les lignes 4 et 5 pour les remplacer par :
utilisateur=[votre_identifiant_de_connexion_à_votre_messagerie]
Il est déconseillé de mofidier les lignes 6 à 8 afin d'éviter que le mot de passe soit lisible par tous.
Vérifiez que le programme est en exécution, sinon, dans un terminal ouvert à l'endroit de stockage du fichier, saisir :
chmod a+x msg-1.0.sh
Ci-dessous, le code certainement améliorable (fichier bash en attachement) :
#! /bin/bash
# voir si nouveaux messages, voir en-tête dernier message reçu et lancer messagerie par défaut
imap="[compléter_avec_adresse_serveur_courrier_entrant]"
imapw=/initrd/mnt/tmpfs/tmp/.imapsec
utilisateur=$(xmessage -borderless -bg lightgreen -entry "Saisissez votre identifiant de messagerie
et validez avec OK")
xterm -geometry 50x5 -bg blue -title "Saisie aveugle du mot de passe" -e bash -c 'read -s -p "Saisissez votre mot de passe en aveugle
et appuyez sur la touche Entrée pour valider
>>> " momo ; echo $momo > /initrd/mnt/tmpfs/tmp/.imapsec'
xmessage -buttons Quitter:1,'Voir en-tête dernier msg':2,'Ouvrir messagerie':3 -bg lightblue -title 'Nouveaux msgs' "$(curl --silent --url imaps://$imap/ --user $utilisateur:`cat $imapw` -X 'STATUS INBOX (UNSEEN)')"
choix=$?
case $choix in
1) rm $imapw && exit ;;
2) xmessage -buttons Quitter:1,'Ouvrir messagerie':2 -bg lightyellow -title 'En-tête dernier msg' "$(curl --silent --url "imaps://$imap/INBOX;UID=*;SECTION=HEADER.FIELDS%20(DATE%20FROM%20SUBJECT)" --user $utilisateur:`cat $imapw`)"
choix2=$?
case $choix2 in
1) rm $imapw && exit ;;
2) rm $imapw && xmessage -timeout 2 "Lancement de votre messagerie par défaut..." & defaultemail ;;
*) rm $imapw && exit ;;
esac ;;
3) rm $imapw && xmessage -timeout 2 "Lancement de votre messagerie par défaut..." & defaultemail ;;
*) exit ;;
esac
exit
Ensuite ?Il n'y a plus qu'à cliquer sur le programme et suivre les instructions.
Testé avec succès avec LunarPup32. 8) 8)
Pour fonctionner sous Toutou Slaxen 6.0, imapw doit être égal à :
imapw=/tmp/.imapsec
Amusez-vous bien.
Amitiés.