User Tools

Site Tools


doc:appunti:linux:sa:offlineimap3

Differences

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

Link to this comparison view

Next revision
Previous revision
Next revisionBoth sides next revision
doc:appunti:linux:sa:offlineimap3 [2024/03/08 17:02] – created niccolodoc:appunti:linux:sa:offlineimap3 [2024/03/22 10:29] niccolo
Line 1: Line 1:
-====== Sincronizzazione IMAP con offlineimap3 ======+====== offlineimap3 sincronizzazione IMAP: UID validity  ======
  
 Con il tool **[[https://github.com/OfflineIMAP/offlineimap3|offlineimap3]]** è possibile tenere sincronizzati due account IMAP in modo bidirezionale. Ovviamente è possibile utilizzare lo strumento anche per migrare un account IMAP da un server ad un altro, in step incrementali. Con il tool **[[https://github.com/OfflineIMAP/offlineimap3|offlineimap3]]** è possibile tenere sincronizzati due account IMAP in modo bidirezionale. Ovviamente è possibile utilizzare lo strumento anche per migrare un account IMAP da un server ad un altro, in step incrementali.
Line 5: Line 5:
 ===== Problema UID validity ===== ===== Problema UID validity =====
  
-Lo **UIDVALIDITY** è un intero 32 bit che identifica in modo univoco una cartella IMAP. In genere non cambia da un accesso ai successivi, a meno che la cartella non sia stata eliminata e poi creata nuovamente. Un altro motivo per cui la UIDVALIDITY può cambiare ad ogni accesso è che sul server si sia esaurita la quota disco, per cui il server IMAP non è in grado di salvare la UIDVALIDITY corrente e ne genera una nuova ad ogni sessione.+Lo **UIDVALIDITY** è un intero 32 bit che identifica in modo univoco una cartella IMAP. In genere non cambia da un accesso ai successivi, a meno che la cartella non sia stata eliminata e poi creata nuovamente. Un altro motivo per cui la UIDVALIDITY può cambiare ad ogni accesso è che sul server si sia esaurita la **quota disco**, per cui il server IMAP non è in grado di salvare la UIDVALIDITY corrente e ne genera una nuova ad ogni sessione.
  
 offlineimap3 utilizza lo UIDVALIDITY della cartella e lo UID di ogni messaggio per sapere se il messaggio è già stato sincronizzato da un server all'altro, nel caso in cui venga riscontrata un cambiamento fra il valore fornito dal server IMAP e il valore memorizzato in una sincronizzazione precedente viene generato un messaggio di errore del tipo: offlineimap3 utilizza lo UIDVALIDITY della cartella e lo UID di ogni messaggio per sapere se il messaggio è già stato sincronizzato da un server all'altro, nel caso in cui venga riscontrata un cambiamento fra il valore fornito dal server IMAP e il valore memorizzato in una sincronizzazione precedente viene generato un messaggio di errore del tipo:
Line 12: Line 12:
 UID validity problem for folder INBOX (repo Manitu) (saved 1121762284; got 709908459); UID validity problem for folder INBOX (repo Manitu) (saved 1121762284; got 709908459);
 </code> </code>
 +
 +Questo errore non impedice la propagazione dei nuovi messaggi, ma interrompe la sincronizzazione bidirezionale.
 +
 +La soluzione proposta nelle FAQ **[[https://www.offlineimap.org/doc/FAQ.html#what-is-the-uid-validity-problem-for-folder|What is the UID validity problem for folder?]]** in realtà resetta ogni memoria delle sincronizzazioni precedenti, pertanto i messaggi verranno scaricati nuovamente e andranno a duplicare quelli esistenti.
  
 Lo UIDVALIDITY su un sistema GNU/Linux con server **IMAP Courier** viene memorizzato nel file **$HOME/Maildir/courierimapuiddb**. Lo UIDVALIDITY su un sistema GNU/Linux con server **IMAP Courier** viene memorizzato nel file **$HOME/Maildir/courierimapuiddb**.
Line 18: Line 22:
  
 Alla prima esecuzione di offlineimap3 gli UIDVALIDITY dei due server in sincronizzazione vengono memorizzati in file del tipo **$HOME/.offlineimap/Repository-[SERVER_NAME]/FolderValidity/[FOLDER_NAME]**. Alla prima esecuzione di offlineimap3 gli UIDVALIDITY dei due server in sincronizzazione vengono memorizzati in file del tipo **$HOME/.offlineimap/Repository-[SERVER_NAME]/FolderValidity/[FOLDER_NAME]**.
 +
 +Per interrogare un server IMAP circa la UIDVALIDITY di una cartella si possono usare i seguenti comandi:
 +
 +<code>
 +telnet imap.server.org 143
 +</code>
 +
 +<code>
 +a1 CAPABILITY
 +a2 LOGIN login_name MySecret
 +a3 LIST "" "*"
 +a4 SELECT INBOX
 +...
 +* 242 EXISTS
 +* 0 RECENT
 +* OK [UIDVALIDITY 1195040922] Ok
 +...
 +a7 LOGOUT
 +</code>
  
  
doc/appunti/linux/sa/offlineimap3.txt · Last modified: 2024/03/22 17:46 by niccolo