Fulltext vyhledávání v mailech přímo na mailovém serveru

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

 
notmuch.txt · Last modified: 2022/11/24 17:43 by root