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
doc:appunti:linux:sa:imap [2021/03/08 18:54] – [offlineimap] niccolodoc:appunti:linux:sa:imap [2024/03/21 12:56] (current) – [offlineimap] 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 51: Line 74:
 **ATTENZIONE** :!: Le versioni **6.3.4** di Debian Wheezy e **6.5.4** hanno diversi bug. **ATTENZIONE** :!: Le versioni **6.3.4** di Debian Wheezy e **6.5.4** hanno diversi bug.
  
-**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** :!: 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 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**. 
 + 
 +**ATTENZIONE** :!: La versione **8.0.0** (Debian GNU/Linux 12 Bookworm) non riesce a gestire correttamente la sincronizzazione con server Courier IMAP in presenza di sottocartelle di primo livello o ulteriori. Vedere l'**[[https://github.com/OfflineIMAP/offlineimap3/issues/188|issue #188]]**.
  
 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 105:
 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 115:
 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 252:
   * 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.1615226056.txt.gz · Last modified: 2021/03/08 18:54 by niccolo