Program mailsync se používá zejména pro tři úlohy:
Synchronizace lokálně uložených poštovních zpráv se zprávami uloženými na serveru.
Přenos schránek na jiný server nebo převod do jiného formátu.
Kontrola integrity schránky a vyhledávání duplikátů.
mailsync rozlišuje mezi samotnými schránkami (store) a kanály mezi
schránkami (channel). Definice schránek a kanálů jsou uloženy
v ~/.mailsync. Následující odstavce vysvětlují
použití schránek (store) na několika příkladech.
Jednoduchá definice může vypadat takto:
store saved-messages {
pat Mail/saved-messages
prefix Mail/
}
Mail/ je podadresář v domovském adresáři uživatele,
který obsahuje zprávy včetně složky saved-messages.
Pokud program mailsync spustíte příkazem
mailsync -m saved-messages,
vypíše seznam zpráv ve složce saved-messages.
Při nastavení:
store localdir {
pat Mail/*
prefix Mail/
}
vypíše příkaz
mailsync -m localdir
všechny zprávy ve složce Mail/. Příkaz
mailsync localdir naopak
vypíše jména složek.
Příklad specifikace pro IMAP server:
store imapinbox {
server {mail.edu.harvard.com/user=gulliver}
ref {mail.edu.harvard.com}
pat INBOX
}
Uvedený příklad specifikuje pouze hlavní složku na IMAP serveru. Pro podsložky bude vypadat takto:
store imapdir {
server {mail.edu.harvard.com/user=gulliver}
ref {mail.edu.harvard.com}
pat INBOX.*
prefix INBOX.
}
Pokud IMAP server podporuje šifrované připojení, měla by jeho specifikace vypadat takto:
server {mail.edu.harvard.com/ssl/user=gulliver}
nebo, pokud je certifikát neznámý:
server {mail.edu.harvard.com/ssl/novalidate-cert/user=gulliver}
Nyní je možné složky v Mail/ připojit k podadresářům
na IMAP serveru:
channel folder localdir imapdir {
msinfo .mailsync.info
}
Program mailsync používá soubor msinfo
k zaznamenáváni již synchronizovaných zpráv.
Příkaz mailsync folder
provede následující:
Expanduje schéma schránky na obě strany.
Ze získaných jmen složek odstraní předponu.
V párech synchronizuje složky (pokud neexistují, vytvoří je).
Složka INBOX.sent-mail na IMAP serveru je
synchronizována s lokální složkou Mail/sent-mail
(pokud existují definice uvedené výše). Synchronizace mezi jednotlivými
složkami se provádí následovně:
Pokud zpráva existuje na obou stranách, nic se neděje.
Pokud zpráva existuje jen na jedné straně a je nová
(není uvedena v souboru msinfo),
je přenesena.
Pokud zpráva existuje jen na jedné straně a je stará
(je již uvedena v souboru msinfo),
je smazána (neboť byla očividně na jedné straně úmyslně smazána).
Pokud chcete s předstihem vědět, které zprávy budou během synchronizace
přeneseny a které smazány, spusťte mailsync
pomocí mailsync folder localdir.
Tímto příkazem získáte seznam všech zpráv, které jsou na lokálním počítači
nové, a seznam všech zpráv, které budou na IMAP serveru během synchronizace
smazány. Podobně příkazem
mailsync folder imapdir
získáte seznam všech zpráv, které jsou nové na straně IMAP serveru,
a zpráv, které budou během synchronizace smazány na lokálním počítači.
V případě ztráty dat je nejbezpečnější metodou smazat příslušný soubor
se záznamy msinfo. Tak budou všechny soubory
existující na jedné straně považovány za nové a přeneseny během další
synchronizace.
Synchronizace zahrnuje pouze zprávy s ID. Zprávy, které ID nemají, jsou ignorovány, tzn. nejsou ani přenášeny ani mazány. Chybějící ID je většinou důsledkem chyby programu při vytváření nebo odesílání zprávy.
Na některých IMAP serverech je hlavní složka adresována pomocí
INBOX a podsložky pomocí náhodně zvoleného jména
(na rozdíl od INBOX a INBOX.jmeno). Proto pro takové IMAP servery
nelze nastavit vzorec jen pro podsložky.
Po úspěšném přenosu zpráv na IMAP server nastaví ovladače schránky
(c-client) používané programem mailsync zvláštní příznak. Z tohoto důvodu
nejsou některé programy, jako např. mutt, schopny rozpoznat tyto zprávy
jako nové. Nastavení tohoto příkazu lze zakázat volbou
-n.