Mail relay ????? OFF
Moczik Gabor
progzmaster at freemail.hu
Fri Mar 12 20:54:12 CET 2004
Tucsi wrote:
> Azt kene megoldani hogy a ceges belsohalon levo linuxos
> fileserverunk mondjuk 5 percenkent letoltene a szolgaltatotol az
> emaileket spamszurne es az userek onnan tudnak letolteni az
Bocsi, de nincs kedvem maganba irni, es igy mas is latja milyen okos es
szereny vagyok :-)
Akit nem erdekel: bocs, kicsit hosszu lesz.
Nekem van egy detto erre a celra valo osszeallitasom. Az altalam hasznalt
programokkal, step-by-step leirom.
Szoval kell neked egy Fetchmail ami leszedi a levelekt, egy exim (MTA) ami
tovabbitja az user-ek mailboxaba, egy POP3 vagy IMAP szerver (nekem
Cyrus-IMAP) amire a felhasznalok kapcsolodni tudnak hogy elolvassak a
leveleiket. Kell meg egy SpamAssassin, ami a spam szurest vegzi. Virus
kereseshel exiscan, mailscanner, akarmi, ezt nem uzemeltem meg be, errol ne
is kerdezz. Ja, Debian-t disztribet hasznalok.
Telepitsd fel a programokat! Elotte azert olvasd vegig :-)
A fetchmail-t beallitod hogy system-wide fetchmail daemon-kent fusson. Az
/etc/fetchmailrc-be ilyen jellegu sorokat irsz:
poll freemail.hu proto POP3 user "progzmaster" pass "freemail_jelszo" to
"gabesz"
poll freemail.hu proto POP3 user "anyuci" pass "anyu_jelszava" to "anyu"
A progzmaster at freemail.hu-ra erkezo leveleket a 'gabesz' nevu user
postaladajaba dobalja. Az anyuci at freemail.hu-rol az 'anyu' nevu userebe.
Az eximet beallitod hogy a smarthost-ja legyen a szolgaltato smtp servere,
vagy direkt internetes SMTP servernek. A spamassassin-hoz ezeket kell beletenni:
TRANSPORTS reszbe (valahova, sorrend nem lenyeg):
-----------------------------------------------------
# Spam Assassin
spamcheck:
driver = pipe
command = /usr/sbin/exim -i -oMr spam-scanned -f "${if eq
{${sender_address}}{} {mailer-daemon} {${sender_address}} }" -- ${local_part}
transport_filter = /usr/bin/spamc -u ${local_part}
home_directory = "/tmp"
current_directory = "/tmp"
# must use a privileged user to set $received_protocol on the way back in!
user = mail
group = mail
return_path_add = false
log_output = true
return_fail_output = true
prefix =
suffix =
--------------------------------------------------------------
DIRECTORS reszbe a 'real_local' (!!!) _utan_ (sorrend FONTOS):
--------------------------------------------------------------
# Spam Assassin
# Old router from dman, not needed anymore since we do it in local_scan
spamcheck_director:
# do not use this director when verifying a local-part at SMTP-time
no_verify
# Don't check locally generated mails
condition = "${if or { {def:h_X-Spam-Status:} {eq
{$received_protocol}{spam-scanned}} {eq {$received_protocol}{local}} {eq
{$sender_address_domain}{$qualify_domain}} {eq
{${lookup{$sender_address}lsearch{/etc/exim/whitelist}{1}{0}}}{1} } } {0}{1} }"
# Check locally generated mails too
#condition = "${if or { {def:h_X-Spam-Status:} {
eq{$received_protocol}{spam-scanned}} } {0}{1} }"
driver = smartuser
transport = spamcheck
------
Ez mehet utana, a spam-ek kidobalasahoz kell.
------
central_filter:
driver = forwardfile
file = /etc/exim/central-filter
pipe_transport = address_pipe
user = $local_part
no_verify
filter
allow_system_actions
no_check_local_user
----------------------------------------------------
A cyrus-imahoz:
TRANSPORTS reszbe (valahova, sorrend nem lenyeg):
----------------------------------------------------
local_delivery_cyrus:
driver = pipe
command = "/usr/sbin/cyrdeliver $local_part"
user = $local_part
group = mail
return_output
log_output
prefix = ""
suffix = ""
----------------------------------------------------
DIRECTORS reszbe, a legvegere ('procmail' utan):
----------------------------------------------------
# This director matches local user mailboxes.
local_user_cyrus:
driver = localuser
transport = local_delivery_cyrus
------------------------------------
Letrehozol egy /etc/exim/central-filter file-t, es beleirod:
if $header_X-Spam-Flag contains "yes" or
$header_X-Spam-Status contains "yes," or
$header_X-MailScanner contains "Found to be infected"
then
pipe "to-mailbox spam"
finish
endif
-------------
Ez beteszi az user 'spam' nevu folder-ebe a spamnak minositett leveleket.
Kezzel meg lehet nezni, es ha veletlenul nem spam, akkor elolvashato.
Ehhez kell a 'to-mailbox' nevu script, letrehozod a filet az /sr/local/bin
alatt, chmod 755, chown root:users, a progi az alabbi:
#!/bin/sh
if [ -z "$1" ]; then
echo "warning: mailbox not specified"
fi
mailbox=$1
if [ -n "$mailbox" ]; then
options="-m $mailbox"
fi
sed -ne "2~1p" | /usr/sbin/cyrdeliver -a $LOCAL_PART $options $LOCAL_PART
-------------
Felteszed a Cyrus-IMAP-ot. Elolvasod a manualjat, meg a howto-kat, es az
alapjan letrehozod a juzerek mailboxait. A juzereknek csinalj egy 'spam'
nevu foldert az INBOX alatt, de ezt megteheted ugy is, hogy a mukodo
cyrus-imap szerverre csatlakozol egy geprol, mittomen pl. netscape mail-al,
es ott 'new folder...'. Ha nem lehet csatlakozni, akkor nem megy a imapd,
vagy nincs joga az usernek a sajat mailboxahoz (konnyen lehet ilyet csinalni...)
KESZ.
Talan semmit nem hagytam ki. Ha valami kerdes van, irj nyugodtan, nalam ez
mukodik, kesz konfigot is kuldhetek ha feladtad vagy nem latod at.
Ezt a levelet is ezen a rendszeren keresztul kaptad meg.
--
((( Móczik Gábor )))--((( hu <- DOT <- freemail <- AT <- progzmaster )))
((( Debian unstable )))-((( Kernel 2.4.20 )))-((( Celeron466 / 128Mb )))
((( --> Vigyázat! Ön súlyos közlekedési balesetet szenvedett. <-- )))
((( --> Kívánja, hogy a légzsák felfúvódjon? <-- )))
More information about the Elektro
mailing list