User Tools

Site Tools


doc:appunti:linux:sa:imap

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Last revisionBoth sides next revision
doc:appunti:linux:sa:imap [2021/03/08 18:53] niccolodoc:appunti:linux:sa:imap [2024/03/20 17:48] – [IMAP protocol] niccolo
Line 41: Line 41:
 a6 OK FETCH completed. a6 OK FETCH completed.
 a7 LOGOUT a7 LOGOUT
 +</code>
 +
 +Some IMAP servers present all the folders as subfolders of the INBOX:
 +
 +<code>
 +a3 LIST "" "*"
 +* LIST (\HasNoChildren)       "." "INBOX.Sent"
 +* LIST (\HasNoChildren)       "." "INBOX.Trash"
 +* LIST (\HasNoChildren)       "." "INBOX.Spam"
 +* LIST (\Marked \HasChildren) "." "INBOX"
 +a4 CREATE INBOX.Archive
 +</code>
 +
 +For other IMAP servers, the folders are outside the INBOX:
 +
 +<code>
 +a3 LIST "" "*"
 +* LIST (\HasNoChildren)                 "." Spam
 +* LIST (\HasNoChildren \Drafts)         "." Drafts
 +* LIST (\HasNoChildren \UnMarked \Sent) "." Sent
 +* LIST (\HasNoChildren \Trash)          "." Trash
 +* LIST (\HasNoChildren)                 "." INBOX
 +a4 CREATE Archive
 </code> </code>
  
Line 49: Line 72:
 Sincronizza una cartella su server **IMAP remoto** con una **Maildir locale** oppure un altro **server IMAP**. Sembra il programma più flessibile e semplice da utilizzare rispetto a **isync**, **mailsync**, **interimap**, **imapsync** e **imapcopy**.. Sincronizza una cartella su server **IMAP remoto** con una **Maildir locale** oppure un altro **server IMAP**. Sembra il programma più flessibile e semplice da utilizzare rispetto a **isync**, **mailsync**, **interimap**, **imapsync** e **imapcopy**..
  
-La versione **6.3.4** di Debian Wheezy e **6.5.4** (attualmente in Sid) hanno diversi bug. Conviene prendere la versione 6.5.5-rc3 da Github. Per installarlo manualmente copiare offlineimap in **''/usr/local/bin/''** e la directory **''offlineimap/''** in **''/usr/local/lib/python2.7/dist-packages/''**.+**ATTENZIONE** :!: Le versioni **6.3.4** di Debian Wheezy e **6.5.4** hanno diversi bug. 
 + 
 +**ATTENZIONE** :!: La versione **7.3.0** (git20210225) di Debian 11.3 Bullseye ha un bug con le cartelle IMAP che **contengono degli spazi** (vedere pull risolutivo [[https://github.com/OfflineIMAP/offlineimap3/pull/80|#80]]). Un rimedio temporaneo è creare manualmente la cartella IMAP sul server ricevente. Esiste il pacchetto **offlineimap3_0.0~git20211018.e64c254+dfsg-1~bpo11+1_all.deb** in bullseye-backports.
  
-**ATTENZIONE** :!: Il programma offre una funzione di sincronizzazione **bidirezionale**, ma noi siamo interessati soprattutto alla migrazione da un server ad un altro, pertanto **la bidirezionalità è un rischio**. In caso di confusione sul nome delle cartelle tra i due repository e sullo stato dell'ultima sincronizzazione, c'è il **rischio concreto di eliminare i messaggi dal server di origine**.+**ATTENZIONE** :!: Il programma effettua una sincronizzazione **bidirezionale**, ma noi siamo interessati alla migrazione di una mailbox da un server ad un altro, pertanto **la bidirezionalità è un rischio**. In caso di confusione sul nome delle cartelle tra i due repository e sullo stato dell'ultima sincronizzazione, c'è il **rischio concreto di eliminare i messaggi dal server di origine**.
  
 Pertanto, prima di iniziare la sincronizzazione, è opportuno indagare quali cartelle sono presenti sul server di origine e **il loro percorso**. Inoltre, se si cambia il file di configurazione, è opportuno rimuovere tutti i file di stato che vengono salvati in **$HOME/.offlineimap/** relativi ad **%%Account-*%%** e **%%Repository-*%%**. Pertanto, prima di iniziare la sincronizzazione, è opportuno indagare quali cartelle sono presenti sul server di origine e **il loro percorso**. Inoltre, se si cambia il file di configurazione, è opportuno rimuovere tutti i file di stato che vengono salvati in **$HOME/.offlineimap/** relativi ad **%%Account-*%%** e **%%Repository-*%%**.
Line 78: Line 103:
 remotepass = MySecret remotepass = MySecret
 createfolders = False createfolders = False
-sslcacertfile = /usr/share/ca-certificates/mozilla/DST_Root_CA_X3.crt+sslcacertfile = /usr/share/ca-certificates/mozilla/Actalis_Authentication_Root_CA.crt 
 +ssl_version = tls1_2 
 +# If you don't want IMAPS on port 993, you can use STARTTLS on port 143. 
 +#ssl = no 
 +#starttls = yes
  
 [Repository Localhost] [Repository Localhost]
Line 84: Line 113:
 localfolders = /home/username2/Maildir localfolders = /home/username2/Maildir
 </file> </file>
 +
 +Per impostazione predefinita offlineimap tenta una connessione **SSL** su porta **993/TCP**, verificando il certificato del server remoto. Senza l'opzione **sslcacertfile** il client offlineimap non è in grado di inziare la sessione TLS e si blocca con il seguente errore:
 +
 +<code>
 +offlineimap.error.OfflineImapError: No CA certificates and no server fingerprints configured.
 +    You must configure at least something, otherwise having SSL helps nothing.
 +</code>
 +
 +Per vedere quale Certification Authority deve essere usata è necessario recuperare il certificato SSL dal server remoto, ad esempio con il comando:
 +
 +<code>
 +openssl s_client -showcerts -connect mail.example.org:993
 +</code>
 +
 +Quindi si ispeziona la **certificate chain** alla ricerca di **O**rganization e **C**ommon **N**ame con valori del tipo:
 +
 +  * O = Actalis S.p.A., CN = Actalis Organization Validated Server CA G3
 +  * O = Let's Encrypt, CN = R3
 +
 +Avendo installato il pacchetto **ca-certificates**, si cerca nella directory **/usr/share/ca-certificates/mozilla/** il certificato giusto da usare. Dopo aver abilitato SSL si può incappare anche nel seguente errore:
 +
 +<code>
 +[SSL: DH_KEY_TOO_SMALL] dh key too small (_ssl.c:727)
 +</code>
 +
 +Questo significa che il server utilizza una versione debole di SSL, vulnerabile ad attacchi del tipo //Factoring RSA Export Keys// poiché usa una chiave Diffie-Hellman più corta di 768 byte. In questo caso, se non possiamo correggere il server, è necessario aggiungere l'opzione di configurazione ''ssl_version = tls1_2''.
 +
 +Se si desidera utilizzare una connessione con STARTTLS su porta 143, è necessario aggiungere le opzioni ''ssl = no'' e ''starttls = yes''.
  
 Si esegue il programma in modalità **%%--info%%**, senza alcun trasferimento di messaggi: Si esegue il programma in modalità **%%--info%%**, senza alcun trasferimento di messaggi:
Line 193: Line 250:
   * La ''Maildir'' locale può essere anche vuota, viene riempita opportunamente.   * La ''Maildir'' locale può essere anche vuota, viene riempita opportunamente.
   * Potrebbe essere necessario specificare l'opzione **''nametrans''** per entrambi i repository, in modo che la sincronizzazione bidirezionale crei le giuste cartelle sul server remoto, ma noi abbiamo preferito utilizzare l'opzione ''createfolders = False'' in modo che non vi sia propagazione di cartelle verso il server origine.   * Potrebbe essere necessario specificare l'opzione **''nametrans''** per entrambi i repository, in modo che la sincronizzazione bidirezionale crei le giuste cartelle sul server remoto, ma noi abbiamo preferito utilizzare l'opzione ''createfolders = False'' in modo che non vi sia propagazione di cartelle verso il server origine.
 +
 +=== Soluzione problemi ===
 +
 +Vedere **[[offlineimap3]]**.
 +
  
 ==== isync ==== ==== isync ====
doc/appunti/linux/sa/imap.txt · Last modified: 2024/03/21 12:56 by niccolo