Portál AbcLinuxu, 26. května 2024 15:11


Dotaz: Filtrování pošty - Courier POP/IMAP a Maildrop

14.10.2009 16:00 Ripper | skóre: 31
Filtrování pošty - Courier POP/IMAP a Maildrop
Přečteno: 286×
Odpovědět | Admin
Zdravím,

Řeším filtrování pošty podle druhu protokolu, který je zvolen pro konkrétní e-mailovou schránku, tedy mám nakonfigurovaný courier-authdaemin tak, že lze omezit používání u uživatelů protokol pop3 nebo imap. Uživatele jsou v mysql a tohle řídí v courieru konfigurační direktiva mysql_auxoptions. Tohle všechno funguje jak má, ale já bych potřeboval přinutit maildrop, aby podle tohoto nastavení poštu, kterou amavis označí hlavičkou spam podle druhu protokolu buď doručil běžně do INBOXU (protokol pop3), nebo do spamového adresáře Junk (protokol imap).

Neví někdo, jak na to nebo nemá po ruce link na nějaké dobré how-to?

Návodů jsem našel hodně, ale žádný tohle nezohledňuje.

Pokud by se nenašlo řešení s courierem a maildropem, používá někdo tento postup v jiném software?

Předem moc díky.
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

14.10.2009 20:11 NN
Rozbalit Rozbalit vše Re: Filtrování pošty - Courier POP/IMAP a Maildrop
Odpovědět | | Sbalit | Link | Blokovat | Admin
Postu moc nemusim, ale maildrop nema s postovnim protokolen nic spolecneho, filtruje hlavicku , nebo telo a podle toho tridi .. a je uplne jedno jakym protokolem ti posta prije a ani se spamem to moc nesouvisi. Muzes nejak vysvetlit o co s tima protkolama jde, mozna jsem to nepochopil..

NN
15.10.2009 09:15 Ripper | skóre: 31
Rozbalit Rozbalit vše Re: Filtrování pošty - Courier POP/IMAP a Maildrop
To s tím maildropem je samozřejmě pravda, ale vzhledem k tomu, že používá pro získání informací o uživateli authdaemon stejně jako courier, tak mě napadlo jestli neexistuje nějaká cesta jak docílit filtrování spamu podle toho, jaký protokol si uživatel zvolí.

Zvolí-li si pop protokol, spam se doručí normálně jako jakákoli jiná pošta. Zvolí-li si imap protokol, spam se doručí do složky spamu.
15.10.2009 17:06 Ripper | skóre: 31
Rozbalit Rozbalit vše Re: Filtrování pošty - Courier POP/IMAP a Maildrop
Snad jsem to výše vysvětlil lépe, o co mi jde. Nedopátral jsem se třeba ani něčeho podobného u Dovecotu a jeho LDA.
15.10.2009 17:24 dustin | skóre: 63 | blog: dustin
Rozbalit Rozbalit vše Re: Filtrování pošty - Courier POP/IMAP a Maildrop
Maildrop umí spouštět externí program, ten by si mohl zjišťovat parametry uživatele a na základě výsledku by se maildrop rozhodoval, co s tím.
15.10.2009 17:31 Ripper | skóre: 31
Rozbalit Rozbalit vše Re: Filtrování pošty - Courier POP/IMAP a Maildrop
Externí program, pokud tedy o nějakém nevíte, snad nebude ani třeba a nic takového jsem nenašel. Jsem schopen na základě dat z databáze určit, který uživatel používá jaký protokol, takto se dá omezit v courieru přístup k pop nebo imap.
15.10.2009 18:35 NN
Rozbalit Rozbalit vše Re: Filtrování pošty - Courier POP/IMAP a Maildrop
Ja to porad nechapu. Prijde mi na postaka spam, amavis ho oznaci a maildrop ho priradi do slozky. Proc resit jaky protokolem prisel? Proc ho prirazovat jinam?

NN
15.10.2009 19:26 Ripper | skóre: 31
Rozbalit Rozbalit vše Re: Filtrování pošty - Courier POP/IMAP a Maildrop
Vysvětlení je prosté, bude-li nějaký uživatel používat pouze pop, tak si nepřečte jinou složku, než inbox (tedy maildir/new/ nebo cur), takže tu zprávu označenou a přefiltrovanou maildropem si nepřečte. Naopak, zruším-li v maildropu pravidlo doručování zpráv označených jako spam do maildir/.Junk, tak se při přístupu přez imap nebo webmail doručí označená zpráva do složky Doručená pošta, ale správně by mělo být do spamové složky.
15.10.2009 19:53 dustin | skóre: 63 | blog: dustin
Rozbalit Rozbalit vše Re: Filtrování pošty - Courier POP/IMAP a Maildrop
Jistěže neexistuje hotový program, ale je docela jednoduché napsat malý skript, kterému na vstupu předáš třeba jméno uživatele (nějaká proměnná v maildropu), podívá se do DB, přečte přístupový protokol a podle něj buď vrátí řetězec Inbox nebo Spam. Pak stačí vhodně takový skript zavolat z maildropu, aby jeho výstup rovnou definoval název folderu, kam to má uložit. Není to efektivní, pokaždé se bude připojovat do DB, ale pro běžnou zátěž to stačí.

Maildrop i procmail mají divokou syntaxi, ale dá se.
15.10.2009 20:31 Ripper | skóre: 31
Rozbalit Rozbalit vše Re: Filtrování pošty - Courier POP/IMAP a Maildrop
Díky za námět. Sice nejsem tak daleko, abych si psal takové skripty, ale asi to bude jediné řešení. Tak nějak naivně jsem předpokládal, že si maildrop s tím pomocí authdaemona umí poradit podobně jako s uživatelem, nebo že to už někdo předemnou řešil, ale asi ne.

Díky.
15.10.2009 21:10 dustin | skóre: 63 | blog: dustin
Rozbalit Rozbalit vše Re: Filtrování pošty - Courier POP/IMAP a Maildrop
Ten skript je jedno volání mysql s SQL dotazem a zjištění výsledku, něco podobného (netestoval jsem a v shelu bývá napoprvně vždycky chybička :) ):
#! /bin/bash
USER=$1
SPAM="spam"
INBOX="Inbox"

RESULT=$(/usr/bin/mysql -u user -p heslo -e "select \
method from user_method where user='$USER';")

# kdyz se povedlo precteni z DB a je to pop,
# vratim inbox, jinak je to vzdy spam
if [ "$?" -eq 0 && "$RESULT" == "pop3" ]; then 
  echo $INBOX
else
  echo $SPAM
fi

exit 0
Pak se budeš muset mrknout do manuálu k maildropu, jak zajistit, aby výstup skriptu definoval název folderu. Určitě to nějak půjde.
16.10.2009 10:20 Ripper | skóre: 31
Rozbalit Rozbalit vše Re: Filtrování pošty - Courier POP/IMAP a Maildrop
Díky moc za skript.
16.10.2009 10:40 dustin | skóre: 63 | blog: dustin
Rozbalit Rozbalit vše Re: Filtrování pošty - Courier POP/IMAP a Maildrop
Mělo by tam být

if [ "$?" -eq 0 ] && [ "$RESULT" == "pop3" ]

Shell je mrcha.
16.10.2009 17:24 Ripper | skóre: 31
Rozbalit Rozbalit vše Re: Filtrování pošty - Courier POP/IMAP a Maildrop
Díky za korekci, ještě jsem to neotestoval, hned jak bude chvíle, vrhnu se na to.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.