# SOGo Mail Filter Agent Ucel: pomahat se spravou sdilene schranky `info@9b-plus.com` v SOGo na `mail.ma-al.com`, hlavne s tridicimi filtry, slozkami a bezpecnou analyzou dorucene posty. ## Bezpecnostni pravidla - Nikdy nechtit heslo v chatu. Uzivatel se prihlasuje sam v prohlizeci. - Bez vyslovneho souhlasu nemazat zpravy, nemazat filtry, neposilat e-maily a nezapinat preposilani. - Pred kazdou vetsi upravou ulozit/exportovat aktualni stav do `docs/`. - Pri praci ve webmailu rozlisovat analyzu, navrh a skutecne ulozeni zmen. - Pri zmene filtru vzdy po ulozeni overit aspon nekolik vzorku z ruznych casti seznamu. - Pokud filtr pouziva OR logiku (`odpovidaji nekteremu z nasledujicich pravidel`), neupravovat ho stejnym zpusobem jako AND filtry bez samostatneho posouzeni. ## Aktualni stav po upravach 2026-08-06 Slozky byly sjednocene do citelnejsi struktury: - `01 - Akcni - k reseni` - `02 - Objednavky zakaznici` - `03 - B2B objednavky` - `04 - B2B faktury a doklady` - `05 - Dopravci - dorucovani` - `06 - Dopravci - dobirky a faktury` - `07 - Reklamace` - `08 - Recenze` - `09 - Marketing a platformy` - `90 - Archiv vyrizeno` - `99 - Automaticky odfiltrovano` Slozky `01 - Akcni - k reseni`, `07 - Reklamace` a `99 - Automaticky odfiltrovano` byly dodatecne presunuty pod `Dorucena posta`, aby byly vsechny hlavni pracovni slozky v jedne strukture. Zpravy z `Kos` byly presunuty do `99 - Automaticky odfiltrovano`. Kos byl po presunu prazdny. Filtry byly prejmenovane do citelneho formatu: `CILOVA_SLOZKA - ZDROJ - TYP_ZPRAVY` Priklad: `05 Dopravci dorucovani - GLS - doruceno` ## Logika proti schovani odpovedi Bezna automaticka pravidla maji mit ochranu, aby neschovala zive odpovedi od lidi. Doplnena podminka: - pole: `Predmet` - operator: `neodpovida regularnimu vyrazu` - hodnota: `^(RE|Re|AW|Aw|FWD|Fwd)\s*:` Vyznam: pokud predmet zacina `RE:`, `Re:`, `AW:`, `Aw:`, `FWD:` nebo `Fwd:`, filtr se nema spustit. Tato ochrana je doplnena do 60 beznych AND filtru. Zamerne vynechany filtr: - `99 Automaticky odfiltrovano - Spam domeny - blokovani` Duvod: pouziva OR logiku. Stejna podminka by tam nebyla spolecnym guardem pro vsechny vetve. ## Dulezite soubory Pred dalsi praci si vzdy precist: - `docs/mail-sogo-current-filters-2026-08-07.json` - `docs/mail-sogo-current-filters-summary-2026-08-07.md` - `docs/mail-sogo-filter-lookup-2026-08-07.json` - `docs/mail-sogo-change-log-2026-08-06.md` - `docs/mail-sogo-current-filter-additions-2026-08-07.json` - `docs/mail-sogo-reply-guard-log-2026-08-06.md` - `docs/mail-sogo-folder-inbox-move-log-2026-08-06.md` - `docs/mail-sogo-filter-change-plan-2026-08-06.md` - `docs/mail-sogo-filter-rename-map-2026-08-06.md` Zaloha puvodniho stavu: - `docs/mail-sogo-old-settings-2026-08-06.json` - `docs/mail-sogo-old-settings-2026-08-06.md` - `docs/mail-sogo-audit-2026-08-06.md` Aktualni live snapshot: - `docs/mail-sogo-current-filters-2026-08-07.json` - Vytvoren 2026-08-07 ze SOGo `Preferences#!/mailer`. - Obsahuje 68 aktualnich filtru, vcetne poslednich novych pravidel z 2026-08-07. - Audit byl read-only: kazdy filtr byl otevren, precten a zavren pres `STORNO`; v SOGo se nic neukladalo. - 67 filtru ma reply guard `^(RE|Re|AW|Aw|FWD|Fwd)\s*:`. - Jedina zamerna vyjimka je `99 Automaticky odfiltrovano - Spam domeny - blokovani`, protoze pouziva OR logiku. - Pro rychle hledani existujicich pravidel pouzit `docs/mail-sogo-filter-lookup-2026-08-07.json`; obsahuje index podle odesilatele, cilove slozky a predmetovych frazi. ## Odpovidani na zakaznicke e-maily Pri priprave odpovedi v SOGo platí stejna bezpecnostni pravidla jako u filtru: - Nikdy neposilat e-mail bez vyslovneho potvrzeni uzivatele v danem okamziku. - Pokud uzivatel chce draft, pripravit jen rozepsanou odpoved v SOGo a jasne rict, ze nebyla odeslana. - Pred odpovedi si precist cele vlakno, predmet, objednavku/reference a prilohy, pokud jsou relevantni. - U priloh s fotkami dat uzivateli nestranne hodnoceni: co je jasne videt, co neni prokazane a co je jen pravdepodobne. - Odpovidat slusne, vecne a zakaznicky; neobvinovat zakaznika a nepsat zbytecne ostre formulace. - Uznat problem, ktery je z podkladu jasny, i kdyz ostatni cast reklamace neni prokazana. - Nepriznavat vinu nebo zavazek nad ramec toho, co uzivatel schvalil. - Kdyz je vhodne nabidnout reseni, preferovat konkretni dalsi krok: potvrzeni vraceni, Packomat/parcel locker, instrukce, refund po prijeti a kontrole. - Neprepisovat adresy, osobni udaje ani detaily objednavky do finalni odpovedi, pokud to neni nutne. ### Vzor logiky pro reklamaci PVUQEDGMH Email: `Complaint - Item Received in Used/Damaged Condition (Order reference number PVUQEDGMH)` Zjisteni: - Zakaznice tvrdi, ze krabice byla poskozena a lezecky vypadaly pouzite. - Z fotek je krabice jasne poskozena. - Na samotnych lezeckach nebyla z fotek videt jasna vada ani jednoznacne znamky lezeni/pouziti. - Vhodna odpoved: omluvit se za stav baliku/krabice, vecne rict, ze na fotkach neni videt jasna vada bot, ale respektovat obavu zakaznice. - Nabidka: pokud chce zbozi vratit, zaridit bezplatne vraceni pres Packomat / parcel locker a po prijeti a kontrole vratit penize. Pouzitelny ton: `We are sorry that the parcel and the shoe box arrived in this condition. From the photos, the box is clearly damaged. Regarding the climbing shoes themselves, we do not see any clear visible defect or obvious signs of actual climbing use on the photos, but we understand your concern. If you would like to return the item, we can arrange a free return via a parcel locker / Packomat.` ## Postup pro pristi upravy 1. Nejdriv zjistit cil: analyza, navrh, nebo realna uprava. 2. Pokud jde o realnou upravu, potvrdit rozsah a zakazane akce. 3. Pred zmenami ulozit aktualni stav do noveho souboru v `docs/`. 4. U filtru zkontrolovat: - nazev - rezim shody AND/OR - podminky - cilovou slozku - zda uz existuje reply guard 5. Neduplicovat filtry, pokud jde sloucit logiku citelneji. 6. Po ulozeni overit vzorky z zacatku, stredu a konce seznamu. 7. Dopsat zmeny do change logu. ## Rychly postup: pridani noveho SOGo filtru Pouzivat, kdyz uzivatel odsouhlasi konkretni novy filtr. Komunikace: - Pri opakovanych rutinnich filtrech minimalne psat do chatu. - Nezahlcovat uzivatele prubeznymi technickymi vypisy. - Napsat jen kratce, ze filtr pridavam, a na konci potvrdit hotovo. - Pokud se UI nezasekne, postup ma byt hotovy zhruba do 1 minuty. - DOM vypisy delat jen pri chybe nebo kdyz se zmeni SOGo UI. 1. Otevrit SOGo predvolby primo: - `https://mail.ma-al.com/SOGo/so/info@9b-plus.com/Preferences#!/mailer` 2. Kliknout vnitrni zalozku `TRIDENI`. - SOGo pro ni nema samostatnou normalni URL; je to Angular Material tab uvnitr `#!/mailer`. - Rychle pres browser automation: najit `md-tab-item` s textem `TRIDENI`, pripadne kliknout posledne zname `#tab-item-135`, pokud stale sedi. - Po kliknuti overit, ze stranka obsahuje seznam filtru a tlacitko `VYTVORIT FILTR`. 3. Kliknout `VYTVORIT FILTR`. 4. Vyplnit formular: - `Jmeno filtru` - ponechat rezim `odpovidaji vsem nasledujicim pravidlum`, pokud uzivatel nevyslovne chce OR logiku - pridavat podminky tlacitkem `Pridat podminku` - pro bezne filtry pridat reply guard: - pole `Predmet` - operator `neodpovida regularnimu vyrazu` - hodnota `^(RE|Re|AW|Aw|FWD|Fwd)\s*:` - pridat akci tlacitkem `Pridat akci` - defaultni akce `Uloz zpravu do slozky` je obvykle spravne - vybrat cilovou slozku, napr. `03 - B2B objednavky` 5. Pred potvrzenim dialogu povinne zkontrolovat hodnoty primo ve formulari: - nazev filtru - vsechny podminky - cilovou slozku - tlacitko `OK` nesmi byt disabled 6. Kliknout `OK`. 7. Pred hlavnim ulozenim overit, ze se novy filtr pridal do seznamu: - pocet filtru se zvysil o 1 - nazev je mezi `input[aria-label="Jmeno filtru"]` 8. Kliknout hlavni plovouci tlacitko `save` v predvolbach. 9. Overit toast `Predvolby ulozeny`. 10. Znovu overit, ze filtr zustal v seznamu a pocet filtru sedi. 11. Zapsat lokalni evidenci: - pridat zaznam do `docs/mail-sogo-current-filter-additions-YYYY-MM-DD.json` - zapsat kratky log do `docs/mail-sogo-change-log-2026-08-06.md` - pokud jde o dulezitou zmenu procesu, doplnit tuto agents poznamku Prakticke poznamky: - Neklikat na `mailcow Predvolby`; to vede na `https://mail.ma-al.com/user` a muze skoncit login obrazovkou mimo SOGo. - Horni ikona `Predvolby` v SOGo ma spravny odkaz `/SOGo/so/info@9b-plus.com/Preferences`, ale nejrychlejsi je jit primo na URL z bodu 1. - SOGo po kliknuti `OK` nemusi ukazat novy filtr ve viditelnem textu, proto kontrolovat hodnoty inputu v DOMu. - Pro pridavani podminek a akci pouzivat spolehlive fyzicke kliknuti na tlacitka `Pridat podminku` / `Pridat akci`, kdyz locator podle textu zlobí. - Neprochazet znovu vsech 61+ filtru v SOGo UI, pokud uzivatel posila jasny novy filtr a neni duvod kontrolovat duplicitu primo v UI. - Lokalne ulozene JSON/MD evidence filtru klidne rychle projit; je to rychle a neblokuje praci. - Kontrolu duplicity delat rychle hlavne podle lokalni evidence a zjevne podobneho existujiciho pravidla. - Stare zalohy `docs/mail-sogo-old-settings-2026-08-06.json` neprepisovat. Nove pridane filtry evidovat v samostatnem current/additions JSON. - Stare filtry nemazat jen proto, ze vznikl novy filtr. Mazani/vypinani starych filtru vzdy jen po samostatnem potvrzeni uzivatelem. ## Hromadny presun starych zprav podle existujicich filtru Kdyz uzivatel chce uklidit stare e-maily, ktere uz odpovidaji existujicim filtrum, nedelat to po jednom. Postupovat po davkach podle existujicich pravidel. Bezpecny postup v SOGo: 1. Otevrit hledani v `Dorucena posta`. 2. Vyhledat presny text podle existujiciho filtru. 3. Zkontrolovat pocet vysledku, napr. `98 zpravy`. 4. Kliknout nejdrive na jeden radek / vyber zpravy, aby se v SOGo probudil toolbar vyberu. 5. Kliknout `Vybrat vse`. 6. Povinne overit, ze SOGo skutecne ukazuje napr. `98 vybrano`. 7. Teprve potom pouzit `Dalsi moznosti zprav` -> `Presunout do` -> cilova slozka. 8. Po presunu overit, ze vysledky hledani zmizely nebo ukazuji `Zadna zprava`. Dulezite pouceni: - Nestaci, ze je videt tlacitko `Vybrat vse`; SOGo nekdy zobrazi toolbar, ale realne je porad `0 vybrano`. - Pred presunem musi byt vzdy potvrzen konkretni pocet `X vybrano`. - Pokud po presunu vysledky zustanou videt, presun se pravdepodobne neprovedl; netvrdit hotovo a znovu overit vyber. - Pokud hledani vrati podezrele moc vysledku, davku nevybirat ani nepresouvat. U beznych uklidu pouzivat pojistku na maximalni pocet vysledku. - Dotaz `Last week's updates in your shared folders` pro Dropbox v SOGo jednou vratil cely Inbox misto Dropbox vysledku. Dropbox neuklizet pres bezne hledani bez rucni kontroly nebo uzsiho overeneho dotazu. - Nevytvaret nove filtry behem tohoto uklidu. Nove filtry se navrhuji az po sesbirani dat. - Nejasne nebo zive konverzace s `RE:`, `AW:`, `FWD:` nepresouvat automaticky, pokud to neni vyslovne soucast existujiciho a schvaleneho pravidla. Overene davky z 2026-08-06: - `PPL - Prevzali jsme Vasi/vasi zasilku`: 41 zprav -> `05 - Dopravci - dorucovani` - `DPD - Vas balicek je na ceste`: 98 zprav -> `05 - Dopravci - dorucovani` - `Pinguin - Potvrzeni objednavky ze systemu B2B`: 12 zprav -> `03 - B2B objednavky` - `Sea to Summit Order Confirmation Order`: 14 zprav -> `03 - B2B objednavky` - `Zasilkovna - Prehled vybranych dobirek`: 229 zprav -> `99 - Automaticky odfiltrovano` ## Dalsi doporucene prace - Najit duplicity hlavne u DPD, GLS, PPL, Zasilkovny, Fio a Vertone. - Vertone meni B2B rezim. Nove zpravy z `noreply@vert1.cz` s predmetem `Objednavka ... byla prave vyrizena` se tridi novym filtrem `03 B2B objednavky - Vertone - objednavka vyrizena`. Stare Vertone filtry zatim nemazat; casem je vypnout nebo smazat az po potvrzeni uzivatelem. - Rozhodnout, jestli spamovy OR filtr nechat jako blacklist, nebo ho rozdelit na citelnejsi samostatne filtry. - Pri budoucim napojeni Maalflows na e-mail pouzit radsi API/IMAP pristup s minimalnimi pravy nez sdileni hesla v chatu. - Pri kazdem dalsim presunu slozek zkontrolovat filtry: SOGo muze po presunu zmenit cil akce na placeholder `Postovni schranka`. ## Rucni spam workflow Od 2026-08-06 existuje pod `Dorucena posta` slozka: - `10 - Spam ke kontrole` Ucel slozky: - Uzivatel do ni rucne presouva zpravy, ktere povazuje za spam. - Slozka nema sama o sobe spoustet zadny automaticky filtr. - Pri pravidelne kontrole ma agent projit vzorky z teto slozky a najit opakujici se adresy, domeny, predmety a fraze. - Agent ma nejdrive navrhnout zmeny spam filtru a vysvetlit riziko false-positive. - Az po vyslovnem potvrzeni uzivatele muze agent upravit SOGo spam filtr. - Novy spam filtr muze nove zachycene spamy presouvat do `Kos`, ne mazat trvale. - Po uprave spam filtru ma agent zapsat zmenu do `docs/` a overit par vzorku. Bez potvrzeni uzivatele agent nesmi mazat zpravy ze slozky `10 - Spam ke kontrole` ani menit spam filtr. ### Spam filter policy - Slozka `10 - Spam ke kontrole` znamena uzivatelem potvrzeny spam. - Pri navrhu pravidel primarne pouzivat `Odesilatel je rovno konkretni@email` nebo `Odesilatel obsahuje @domena`. - Nove potvrzene spam adresy/domeny standardne nepridavat jako samostatny filtr. Slucovat je do existujiciho OR blacklist filtru `99 Automaticky odfiltrovano - Spam domeny - blokovani`, pokud uzivatel nechce jinak. - Samostatny spam filtr vytvorit jen vyjimecne: docasny test, jiny cil nez standardni spam workflow, nebo vyslovne prani uzivatele. - Pred navrhem domeneho bloku vzdy porovnat domenu proti aktualnimu lookupu dobrych filtru. - Nikdy neblokovat celou verejnou emailovou domenu typu `gmail.com`, `seznam.cz`, `email.cz`, `centrum.cz`, `volny.cz`, `outlook.com`, `hotmail.com`, `live.com`, `yahoo.com`, `icloud.com`, `proton.me`, `protonmail.com` apod. - U verejnych emailovych domen blokovat jen presnou adresu odesilatele. - Pokud je domena podobna existujicimu dodavateli, dopravci, B2B partnerovi nebo zakaznicke domene, upozornit uzivatele a bez potvrzeni ji neblokovat. - Filtry podle predmetu nebo tela u spamu nepouzivat jako prvni volbu; jen pokud to uzivatel vyslovne odsouhlasi.