Voir avec curl s'il y a de nouveaux messages sans lancer son client messagerie
Jeudi 27 Mars 2025, 14:59:12
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 : 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. Pour fonctionner sous Toutou Slaxen 6.0, imapw doit être égal à :imapw=/tmp/.imapsec Amusez-vous bien. Amitiés.
Quote Selected