27.7. Úvod do mailsync

Program mailsync se používá zejména pro tři úlohy:

27.7.1. Konfigurace a použití

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.

27.7.2. Možné problémy

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.

27.7.3. Další informace

Další informace najdete po instalaci balíčku mailsync v souboru README v adresáři /usr/share/doc/packages/mailsync/. V této souvislosti věnujte také pozornost RFC 2076 Common Internet Message Headers.