====== Fulltext vyhledávání v mailech přímo na mailovém serveru ======
[[notmuch_clanek]]
===== Zprovoznění syncthing =====
Ač debian/ubuntu může obsahovat přímo balíček syncthing. Může být dobré si přidat přímo repozitář projektu pro možnou aktualizaci na novější verze.
https://apt.syncthing.net/
Instalaci provedeme pak příkazem.
apt install synchting
Abychom funkčnost syncthing otestovali, můžeme jej způstit přímo z konzole příkazem syncthing.
Pozor ale, před spuštěním je nutné být přihlášen pod uživatelem, pod kterým synching poběží. Není dobré synchting provozovat jako root.
su vmail
#
syncthing
==== Automatický start ====
https://docs.syncthing.net/users/autostart.html#linux
Musí běžet jako system service, aby to fungovalo i bez nalogování uživatele vmail. vmail je login uživatele.
systemctl enable syncthing@vmail.service
# Created symlink /etc/systemd/system/multi-user.target.wants/syncthing@vmail.service → /etc/systemd/system/syncthing@.service.
systemctl start syncthing@vmail.service
systemctl status syncthing@vmail.service
Že syncthing běží a synchronizuje můžeme zkontrolovat pomocí webové stránky na portu :8384
webové rozhraní je třeba zabezpečit jménem a heslem (lze nastavit na webu) + firewalem
===== Když v emailu chybí důležitá hlavička =====
Message-id
Xnote++ jméno souboru vypočítá jako MD5. Ale, není úplně jasné z čeho se md5 počítá.
Celý email, ani ta část s hlavičkama tonení.
Soubor do kterého Xnote++ uloží poznámku v případě že email nemá hlavičku id najdou tak,
že uložím poznámku XXXZZZXXX a pak najdu soubor, který tento řetězec obsahuje pomocí grepu.
grep -rn XXXZZZXXX .
#Binary file ./md5%3AlkjBoMJx4srtiCmVceL+lw%3D%3D.xnote matches
Název souboru je ještě urlencoded po rozkódování https://www.urldecoder.org/
md5:lkjBoMJx4srtiCmVceL+lw==
cat /var/vmail/odorik.cz/kontakt/cur/1567092346.M60666P12360.mail\,S\=741\,W\=756\:2\,RSao | openssl dgst -md5 -binary | openssl enc -base64
# x0oZhB9ebyVGC1/+nQpMEg==
cat /var/vmail/jenhlavicky.txt | openssl dgst -md5 -binary | openssl enc -base64
# I8DFyyAgY0IRNAjj9h+EOw==
====== Ruční používáním notmuch ======
notmuch show --format=mbox from:ouku05@seznam.cz>result.mbox && mutt -R -f result.mbox
notmuchm() {
pocet_emailu=$(notmuch count "$@");
(($? != 0)) && { echo "máte chybu v zadaných parametrech. viz. 'man notmuch-search-terms' "; return; }
if (($pocet_emailu > 1000)); then
echo "notmuch našel $pocet_emailu emailů, což je příliš. Upřesněte dotaz."; return
elif (($pocet_emailu == 0 )); then
echo "notmuch nenašel žádý email. Změňte dotaz."; return
fi
# echo "notmuch našel $pocet_emailu emailů. Nyní spustíme mutt, aby jste si je prohlédl "
# read -n 1 -s -r -p "Pro pokračování zmáčkněte libovolnou klávesu"
temp_file=$(mktemp /tmp/notmuchm.XXXXXXXXX.mbox)
notmuch show --format=mbox $@>$temp_file && mutt -R -f $temp_file
rm $temp_file
}
Dokumentace k ruby-notmuch knihovně. https://dev.exherbo.org/~alip/notmuch/ruby/Notmuch.html
Dokumentace k biding k pythonu - https://notmuchmail.org/doc/latest/python-bindings.html