SliTaz SliTaz Forum

You are not logged in.

#1 2025-04-12 07:27:26

Rantanplan
Member
Registered: 2022-06-06
Posts: 187

Voir si on a reçu des mails dans sa BAL + Envoyer un mail, le tout en ligne de commande

Bonjour,

Il m'a fallu chercher un peu la solution, mais je l'ai trouvée.

Liminaire

Pour ce qui suit, il faut installer les paquets cacerts...tazpkg et curl...tazpkg.

J'ignore si l'ordre d'installation de ces paquets à de l'importance : pour ma part, j'ai d'abord installé cacert..., puis curl...

Comment voir si on a reçu un ou plusieurs mails dans sa boîte-aux-lettres en ligne de commande ?

Avec la commande suivante :

[c]curl --capath /etc/ssl/certs/ --url imaps://imap.serveur.com/ --user "compte:mdp-cmpte" -X 'STATUS INBO
X (UNSEEN)[/c]
Le retour ressemble à ceci :

* STATUS INBOX (UNSEEN 17)

Comment voir de qui vient le dernier mail, sa date et son objet en utilisant la ligne de commande ?

Avec la commande suivante :

[c]curl --silent --capath /etc/ssl/certs/ --url "imaps://imap.serveur.com/INBOX;UID=*;SECTION=HEADER.FIELDS%20(DATE%20FROM%20SUBJECT)" --user "compte:mdp-compte"[/c]

Le retour  ressemblera à cela :

From: tagada <tagada@slitaz.org>

Subject: SliTaz

Date: Sat, 12 Apr 2025 08:46:04 +0200

Enfin, comment envoyer un mail en ligne de commande ?

Avec la commande que voici :

[c]curl smtps://smtp.serveur.com --capath /etc/ssl/certs/ --mail-from "expediteur@serveur.com" --mail-rcpt "destinataire@serveur.org" --ssl-reqd -u "expediteur@serveur.com:mdp" -T mail.txt[/c]

Le fichier "mail.txt" devra répondre à la structure suivante :

From: [expéditeur] <expéditeur@serveur.com>

To: [destinataire] <destinataire@serveur.org>[[,[destinataire2]<destinataire2@serveur.eu>]...]

Subject: SliTaz

Date: Sat, 12 Apr 2025 08:46:04 +0200

MIME-Version: 1.0

Content-Type: multipart/mixed; boundary="__________separateur-multipart-mixed__________"

--__________separateur-multipart-mixed__________

Content-Type: text/plain; charset=utf-8

Content-Transfer-Encoding: quoted-printable

Bonjour,

SliTaz, c'est vraiment bien.

Merci à son 'papa' suisse.

Amitiés.

--__________separateur-multipart-mixed__________--

Notes :

Ce qui est entre "[" et "]" dans la structure du mail.txt ci-dessus est facultatif.

La date du mail au format mail peut être obtenue avec la commande [c]date -R[/c] qui est faite pour ça.

Si vous voulez remettre le mail à plusieurs destinataires (y compris vous-même), ajoutez un :

[c]--mail-rcpt "destinataire2@serveur.org"[/c]

dans la ligne de commande. Puis, complétez le champs "To: " mail.txt avec :

,destinataire2 <destintaire2@serveur.eu>

Si vous souhaitez que le destinataire principal ignore s'il y a d'autres récipiendaires, ne complétez pas le fichier mail.txt.

Enfin, on peut aussi envoyer un mail avec pièce(s) jointe(s) depuis la ligne de commande.

Mais, je vous l'expliquerai dans un prochain article.

Amitiés.

Offline

#2 2025-04-12 09:54:06

gibor
Moderator
Registered: 2011-04-30
Posts: 1,067

Re: Voir si on a reçu des mails dans sa BAL + Envoyer un mail, le tout en ligne de commande

Bonjour, merci pour la suggestion. Je voudrais juste signaler que, peut-être à cause d'une mauvaise compréhension du langage, la syntaxe pour obtenir une réponse du serveur de messagerie était pour moi la suivante :

curl --url indirizzoserverimap:porta --user "nomeutente:password" -X 'STATUS INBOX (UNSEEN)'

-------------------------------------------------------------------------

Ciao, grazie per il suggerimento. Preciso solo che forse per causa incomprensione della lingua, la sintassi per ottenere risposta dal mail server per me è stata questa:

curl --url indirizzoserverimap:porta --user "nomeutente:password" -X 'STATUS INBOX (UNSEEN)'

Offline

#3 2025-04-12 13:39:58

Rantanplan
Member
Registered: 2022-06-06
Posts: 187

Re: Voir si on a reçu des mails dans sa BAL + Envoyer un mail, le tout en ligne de commande

Bonjour @gibor,

merci pour ton retour.

La syntaxe de ton message fonctionne probablement avec le protocole imap, donc 'insecure'.

De plus, elle ne force pas l'usage de SSL (--ssl-reqd).

De surcroît, le certificat (CA) n'est pas vérifié (ou ne peut pas l'être).

Si la syntaxe que tu utilises renvoie bien l'information dont tu as besoin, tout va bien.

Pour moi, je dois utiliser celles que j'ai postées.

Pour ceux qui utilisent gmail, il leur faudra activer "imap" dans les paramètres de leur compte gmail.

Amitiés.

------------------- italiano (Traduttore online) -------------------

Ciao @gibor,

Grazie per il tuo feedback.

La sintassi del tuo messaggio probabilmente funziona con il protocollo imap, quindi "insicuro".

Inoltre, non forza l'uso di SSL (--ssl-reqd).

Inoltre, il certificato (CA) non è (o non può essere) verificato.

Se la sintassi che usi restituisce le informazioni di cui hai bisogno, sei a posto.

Per quanto mi riguarda, devo usare quelli che ho pubblicato.

Per coloro che utilizzano gmail, dovranno attivare "imap" nelle impostazioni del proprio account gmail.

Amicizie.

Offline

#4 2025-04-13 07:41:57

Rantanplan
Member
Registered: 2022-06-06
Posts: 187

Re: Voir si on a reçu des mails dans sa BAL + Envoyer un mail, le tout en ligne de commande

Bonjour @gibor,

J'ai essayé la syntaxe que tu donnes.

Pour mon compte de messagerie, curl renvoie un message d'erreur :

[c]curl: (67) Login denied[/c]

Je suppose que cela est dû au protocole utilisé imap vs imaps.

Bonne journée.

Amitiés.

-------------------- italiano (Traduttore online) --------------------

Ciao @gibor,

Fratelli d'Italia,

Ho provato la sintassi che mi hai dato.

Per il mio account di posta elettronica, curl restituisce un messaggio di errore:

[c]curl: (67) Accesso negato[/c]

Immagino che ciò sia dovuto al protocollo utilizzato imap vs imaps.

Buona Giornata.

Amicizie.

Offline

#5 2025-04-13 09:19:54

gibor
Moderator
Registered: 2011-04-30
Posts: 1,067

Re: Voir si on a reçu des mails dans sa BAL + Envoyer un mail, le tout en ligne de commande

https://www.deepl.com

Bonjour Rantanplan,

Je ne peux pas vous dire pourquoi. Je n'ai que deux fournisseurs de courrier électronique : l'un est protonmail, qui ne prend pas en charge le protocole imap (gratuitement),

l'autre est russe (yandex), auquel on peut accéder via une application de mot de passe, ou via imap, qui a toutefois des pouvoirs limités.

C'est précisément avec cette dernière méthode que l'utilisation des certs est indifférente

-------------------------------------------

Ciao Rantanplan,

non ti so dire il motivo. Possiedo solo due provider email: uno protonmail che non supporta il protocollo imap (gratuitamente),

l'altro russo (yandex) a cui si accede tramite app password, oppure tramite imap che ha però poteri limitati.

Con appunto quest'ultimo metodo l'utilizzo dei certs è indifferente

curl --capath /etc/ssl/certs/ --url imaps://imap.yandex.com:993 --user "myusername:mypassword" -X 'STATUS INBOX (UNSEEN)'

* STATUS INBOX (UNSEEN 0)

curl --url imaps://imap.yandex.com:993 --user "myusername:mypassword" -X 'STATUS INBOX (UNSEEN)'

* STATUS INBOX (UNSEEN 0)

Offline

#6 2025-04-13 10:15:11

Rantanplan
Member
Registered: 2022-06-06
Posts: 187

Re: Voir si on a reçu des mails dans sa BAL + Envoyer un mail, le tout en ligne de commande

@gibor,

Quelques infos sur mon installation :

[c]tux@slitaz:~$ uname -a
Linux slitaz 3.16.55-slitaz #4 SMP Mon Mar 3 12:36:16 UTC 2025 i686 GNU/Linux
tux@slitaz:~$ echo $PATH
/home/tux/.local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/sbin:/usr/local/bin
tux@slitaz:/etc$ cat slitaz-release
5.0
tux@slitaz:/etc$ cat slitaz-version
SliTaz GNU/Linux - 5.0-RC4 20250406[/c]
/etc/ n'est pas dans le PATH.

Lorsque j'utilise :

[c]curl --url imaps://imap.yandex.com:993 --user "myusername:mypassword" -X 'STATUS INBOX (UNSEEN)'[/c]

le message d'erreur suivant apparaît :

[c]curl: (60) server certificate verification failed. CAfile: none CRLfile: none
More details here: https://curl.se/docs/sslcerts.html

curl failed to verify the legitimacy of the server and therefore could not
establish a secure connection to it. To learn more about this situation and
how to fix it, please visit the web page mentioned above.[/c]
Soit : "60     Peer certificate cannot be authenticated with known CA certificates."

Si je fais :

[c]PATH=$PATH:/etc/ssl/certs[/c]

J'obtiens la même erreur 60.

Lorsque j'ajoute --capath /etc/ssl/certs, "* STATUS INBOX (UNSEEN 0)" s'affiche à l'écran.

Amitiés.

------------------------------------webtran.fr------------------------------------

@gibor,

Alcune informazioni sulla mia installazione:

[c]Tux@Slitaz: ~ $ uname -a
Linux Slitaz 3.16.55-Slitaz #4 SMP MON 3 marzo 12:36:16 UTC 2025 I686 GNU/Linux
Tux@Slitaz: ~ $ echo $PATH
/home/tux/.local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/sbin:/usr/bin
tux@slitaz:/etc$ cat slitaz-release
5.0
tux@slitaz:/etc$ cat slitaz-version
SliTaz GNU/Linux - 5.0-RC4 20250406[/c]
/etc/ non è sul sentiero.

Quando uso:

[c]curl --url imaps://imap.yandex.com:993 --user "myusername:mypassword" -X 'STATUS INBOX (UNSEEN)'[/c]

Viene visualizzato il seguente messaggio di errore:

[c]Curl: (60) Verifica del certificato del server archiviato. Cafile: nessuno Crlfile: nessuno
Maggiori dettagli qui: https://curl.se/docs/sslcerts.html

Curl non è riuscito a verificare la legittimità del server e quindi non potrebbe
Stabilire ha una connessione sicura ad esso. Per saperne di più su questa situazione e
Come risolverlo, visitare la pagina Web sopra menzionata.[/c]
Oppure: "60 certificato peer non può essere autenticato con certificati CA noti".

Se lo faccio:

[c]PATH=$PATH:/etc/ssl/certs[/c]

Ricevo lo stesso errore 60.

Quando aggiungo --capath/etc/ssl/certs, "* STATUS INBOX (UNSEEN 0)" appare sullo schermo.

Amicizie.

Offline

#7 2025-04-14 12:54:09

gibor
Moderator
Registered: 2011-04-30
Posts: 1,067

Re: Voir si on a reçu des mails dans sa BAL + Envoyer un mail, le tout en ligne de commande

Bonjour, je suppose que la différence réside dans curl qui est compilé sans l'option

--with-ca-path=/etc/ssl/certs

donc vous devez indiquer le dossier du certificat manuellement avec

--capath

https://pkgs.slitaz.org/?receipt=curl

Mon curl, par contre, cette option est insérée par défaut.

https://www.linuxfromscratch.org/blfs/view/10.1//basicnet/curl.html

---------------------------------------------------------------

Ciao, suppongo che la differenza stia in curl che è compilato senza l'opzione

--with-ca-path=/etc/ssl/certs

per cui devi indicare manualmente la cartella dei certificati con

--capath

https://pkgs.slitaz.org/?receipt=curl

Il mio curl invece quell'opzione è inserita di default.

https://www.linuxfromscratch.org/blfs/view/10.1//basicnet/curl.html

Offline

#8 2025-04-14 15:31:50

Rantanplan
Member
Registered: 2022-06-06
Posts: 187

Re: Voir si on a reçu des mails dans sa BAL + Envoyer un mail, le tout en ligne de commande

Bonjour @gibor,

Merci pour tes recherches.

Je n'avais pas pensé à regarder la recette.

Tu m'auras enseigné quelque chose d'utile : bravo champion.

Tu es le meilleur.

Avec mes amitiés.

------------------- webtran.fr -------------------

Ciao @gibor,

Grazie per la tua ricerca.

Non avevo pensato di guardare la ricetta.

Mi avrai insegnato qualcosa di utile: Bravo Champion.

Sei il migliore.

Con le mie amicizie.

Offline

Registered users online in this topic: 0, guests: 1
[Bot] ClaudeBot

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.020 seconds, 7 queries executed - Memory usage: 1.56 MiB (Peak: 1.77 MiB) ]