fetchmail
(balík
pop
ze série n
).fetchml
ze série n
, od SuSE Linuxu 7.1 pak balík fetchmail
)
Předností programu fetchmail
oproti staršímu popclient
je
nezobrazování hesel v tabulce procesů, ale dochází pouze k jeho výměně mezi
poštovním serverem a POP3 klientem, heslo zůstává uloženo v odděleném souboru.
Poštovní server bude např. mail.provider.cz
. Existují dva uživatelé
asterix
a obelix
na lokálních počítačích maria
a eva
. Jako hesla (na poštovním serveru) jsou josef
a adam
.
/root/.fetchmailrc
:
poll mail.provider.de protocol POP3 user asterix password adam is eva poll mail.provider.de protocol POP3 user obelix password josef is mariaTento soubor smí a měl by být čitelný pouze pro uživatele, kterému bude tato pošta přicházet. Tedy:
chmod 600 /root/.fetchmailrcPassworter nemusí být uložen v tomto souboru. Místo toho se bude při každém použití programu
fetchmail
dotazovat na heslo.fetchmail -v --keep -a >> /var/log/fetchmail 2>&1Parametr
--keep
se stará o to, aby pošta nebyla na serveru
smazána. Při testování je tento postup vřele doporučován!
V souboru /var/log/fetchmail
je vytvářen odpovídající zápis,
parametr -v
zvyšuje podrobnost zanášených informací.
fetchmail -a >> /var/log/fetchmail 2>&1
crontab -e
vyzvedne denně ve dvě ráno poštu:
0 2 * * * /usr/bin/fetchmail -a >> /var/log/fetchmail 2>&1
#! /bin/sh # Copyright (c) 1996 S.u.S.E. GmbH Fuerth, Germany. All rights reserved. # # Author: Klaus Franken # # /sbin/init.d/fetchmail # # please edit /root/.fetchmailrc . /etc/rc.config return=$rc_done case "$1" in start) echo -n "Starting fetchmail-daemon" /usr/bin/fetchmail -d 900 -a -f /root/.fetchmailrc -L /var/log/fetchmail 2>&1 || return=$rc_failed echo -e "$return" ;; stop) echo -n "Shutting down fetchmail-daemon" /usr/bin/fetchmail -quit || return=$rc_failed echo -e "$return" ;; *) echo "Usage: $0 {start|stop}" exit 1 esac exit 0Zde je třeba u volby -f doplnit cestu k .fetchmailrc uživatele.
cd /sbin/init.d chmod +x fetchmail cd /sbin/init.d/rc2.d ln -s ../fetchmail S06fetchmail ln -s ../fetchmail K39fetchmailPokud pracujete v runlevelu 3 (grafické přihlášení) potom také:
cd /sbin/init.d/rc3.d ln -s ../fetchmail S06fetchmail ln -s ../fetchmail K39fetchmailOd verze SuSE Linux 7.1 je třeba ještě provést následující
chmod +x fetchmail insserv /etc/init.d/fetchmail
/etc/ppp/ip-up
, např. v následující podobě:
#!/bin/sh # (c) '97, S.u.S.E. GmbH, Fuerth, Germany # Klaus Franken # 23.09.97 BASENAME=`basename $0` INTERFACE=$1 DEVICE=$2 SPEED=$3 LOCALIP=$4 REMOTEIP=$5 case "$BASENAME" in ip-up) /usr/bin/fetchmail -a >> /var/log/fetchmail 2>&1 ;; ip-down) ;; *) ;; esac
Zde je třeba rozlišovat, zda u poskytovatele připojení je uchována cílová adresa, nebo zda je cílová adresa nahrazena (např. názvem konta).
aka
, resp. localdomains
.aka
nahradí části domény localhost
, zatímco
localdomains
zachovává části domény pro případ odesílání pošty. (Mail-Loop)
Konfigurační soubor .fetchmailrc
může např. vypadat takto:
poll mail.provider.cz protocol POP3 aka doména1 doména2 user asterix password adam is *Doručování pošty prostřednictvím sendmailu funguje bez problémů, kromě toho máte možnost definovat aliasy jmen v souboru
/etc/aliases
,virtusertable
, která je převážně používána v případě, kdy
se v poštovním systému nachází více uživatelů, kteří používají stejné uživatelské jméno pro poštu a
kde se liší pouze část domény. V tom případě je třeba předem aspoň jedna adresa lokálního
uživate přepsána.
Příklad:
Do vaší poštovní schánky příjdou následující poštovní adresy:
novak@prov1.cz
novak@prov2.cz
Tak by byla tato pošta vložena do jediné lokální poštovní schránky novák,
proto je třeba jednu adresu předem přiřadit jinému uživateli.
K tomu se používá v souboru /etc/mail/virtusertable
následující zápis:
novak@prov2.cz lokalni_uzivatelPotom je ještě třeba znovu spustit
SuSEconfig
.
.fetchmailrc
:
set no bouncemailTato pošta již nemůže být určena jednotlivým uživatelům, protože
fetchmail
,
resp. sendmail
nemůže určit, komu byla pošta původně adresována. Proto příjde
tato pošta správci pošty
.fetchmail
tak, že bude zpracována odpovídající
část hlavičky.envelope
.fetchmailrc
by mohl vypadat např. takto:poll mail.provider.de envelope Delivered-To: protocol POP3 aka doména1 doména2 user asterix password adam is *U qmailu platí ještě následující zvláštnost.
fetchmail
je v tomto případě nutné spouštět s volbou --qvirtual qmailprefix-
.
Zde se vyplatí vytvořit vlastnícho uživatele (např. mailer
),
který bude prostřednictvím ~/.procmailrc
poštu dále distribuovat.
Viz příklady v Offline-Mini-Howto, např. na http://www.linuxdoc.org/HOWTO/mini/Offline-Mailing.html