[Postfixbuch-users] fetchmail/courier/postfix
Michael Poeltl
michael.poeltl at univie.ac.at
Fr Feb 27 11:37:36 CET 2009
hi,
Wir haben eine virtuelle Maschine gemietet (30GB Festplatte, 1 public IP), da
mein (vollblinder) Freund aufgrund eines Umzugs sein bestehendes Netzwerk
aufgeben muss.
Diesem Freund soll nun folgendes moeglich sein:
Er loggt sich auf die Maschine mittels ssh ein (openvpn geht nicht wegen nicht
vorhandenem tun-device - kernel-Leute der virtuellen Maschine stellen das
nicht zur Verfuegung, oder zumindest noch nicht, und smtp-auth bzw. imap-ssl
etc. weiche ich noch aus)
Auf dieser maschine, wo er sich einloggt, lauft nun (auch) sein mailserver mit
den beiden domains.
Von da wird er emails versenden (mittels pine - pine hat eine gute
cursorverfolgung fuer braillezeile, was bei mutt noch nicht der Fall ist) und
moechte emails sich abholen mittels fetchmail (das funktioniert noch nicht)
Auf dieser virtuellen maschine laeuft ein debian-lenny, mit
postfix-2.5.5-1.1 -
es sollen zwei domains verwaltet werden:
mail.domain1.at
mail.domain2.at
mail.domain1.at laeuft bereits - emails kommen an (werden korrekt zugestellt),
emails koenen versendet werden -
bevor ihr die config lest und zu meiner fetchmail-courier-Frage kommt, noch
was vorab
vorher hatte ich pcre mit an Bord (auf dem mailserver postfix 2.3.2, der jetzt
aufgegeben werden muss)...
wenn ich aber auf der virtuellen Maschine postfix-pcre dazuinstalliere,
aendert sich zwar an der Funktionsweise von postfix nix (emails kommen an),
aber im log sehe ich folgednes:
OHNE postfix-pcre (nicht installiert):
...
Feb 26 10:22:12 hofr postfix/smtpd[4020]: connect from
grace.univie.ac.at[131.130.3.115]
...
ABER mit postfix-pcre:
Feb 24 11:52:29 hofr postfix/smtpd[31954]: connect from unknown[131.130.3.115]
...
Feb 24 11:52:29 hofr postfix/smtpd[31954]: warning: Unable to look up MX host
zidmx3.univie.ac.at for Sender address michael.poeltl at univie.ac.at: No
address associated with hostname
scheint so, als fehlte mir da ein table? oder so ... kann mir nicht
vorstellen, dass postfix-pcre eien bug hat? eigenartig ...
na ...
hier einmal die Ausgabe von postconf -n
root~# postconf -n
alias_database = hash:/etc/postfix/aliases
alias_maps = hash:/etc/postfix/aliases
biff = no
body_checks = regexp:/etc/postfix/body_checks
command_directory = /usr/sbin
config_directory = /etc/postfix
daemon_directory = /usr/lib/postfix
debug_peer_level = 2
disable_vrfy_command = yes
error_notice_recipient = postmaster at domain1.at
header_checks = regexp:/etc/postfix/header_checks
home_mailbox = Maildir/
html_directory = no
inet_interfaces = a.b.c.d, localhost
mail_owner = postfix
mailq_path = /usr/bin/mailq
manpage_directory = /usr/man
mydestination = localhost.$mydomain, localhost
myhostname = mail.domain1.at
mynetworks = a.b.c.d/32,127.0.0.0/8
myorigin = $mydomain
newaliases_path = /usr/bin/newaliases
proxy_interfaces =
queue_directory = /var/spool/postfix
readme_directory = no
relayhost =
sample_directory = /etc/postfix
sendmail_path = /usr/sbin/sendmail
setgid_group = postdrop
smtpd_banner = $myhostname ESMTP
smtpd_data_restrictions = reject_multi_recipient_bounce warn_if_reject
reject_unauth_pipelining permit
smtpd_helo_required = yes
smtpd_recipient_limit = 100
smtpd_recipient_restrictions = reject_non_fqdn_recipient
reject_non_fqdn_sender reject_unknown_sender_domain
reject_unknown_recipient_domain permit_mynetworks warn_if_reject
reject_sender_login_mismatch reject_unauth_destination
check_recipient_access hash:/etc/postfix/roleaccount_exceptions
reject_non_fqdn_hostname reject_invalid_hostname check_helo_access
regexp:/etc/postfix/helo_checks check_sender_mx_access
cidr:/etc/postfix/bogus_mx reject_rbl_client proxies.relays.monkeys.c
reject_rbl_client proxies.blackholes.easynet.nl reject_rbl_client
zombie.dnsbl.sorbs.net reject_rbl_client cbl.abuseat.org
reject_rbl_client http.dnsbl.sorbs.net reject_rbl_client
socks.dnsbl.sorbs.net reject_rbl_client misc.dnsbl.sorbs.net
reject_rbl_client dul.dnsbl.sorbs.net reject_rhsbl_sender
dsn.rfc.ignorant.org warn_if_reject reject_unauth_pipelining
permit_sasl_authenticated permit
smtpd_sender_restrictions = warn_if_reject check_helo_access
regexp:/etc/postfix/helo_checks
unknown_local_recipient_reject_code = 550
virtual_alias_domains = hash:/etc/postfix/virtual_alias_domain
virtual_alias_maps = hash:/etc/postfix/virtual_mailbox_aliases
hash:/etc/postfix/virtual
virtual_gid_maps = static:1100
virtual_mailbox_base = /home/mailboxes
virtual_mailbox_domains = domain1.at
smtp.domain1.at
virtual_mailbox_limit = 0
virtual_mailbox_maps = hash:/etc/postfix/virtual_mailbox_recipients
virtual_uid_maps = static:1100
#=======================
ich brauch' "virtual", weilich zwei maildomains habe ...
so - die email werden also nach /home/mailboxes/username/Maildir zugestellt
hab' folgende courier-Pakete:
root~# # dpkg -l |grep courier
ii courier-authdaemon 0.61.0-1+lenny1 Courier
authentication daemon
ii courier-authlib 0.61.0-1+lenny1 Courier
authentication library
ii courier-authlib-userdb 0.61.0-1+lenny1 userdb support
for the Courier authentication l
ii courier-base 0.60.0-2 Courier mail
server - base system
iU courier-imap 4.4.0-2 Courier mail
server - IMAP server
rc courier-imap-ssl 4.4.0-2 Courier mail
server - IMAP over SSL
iU courier-pop 0.60.0-2 Courier mail
server - POP3 server
rc courier-pop-ssl 0.60.0-2 Courier mail
server - POP3 over SSL
ii courier-ssl 0.60.0-2 Courier mail
server - SSL/TLS Support
die user unterhalb von mailbox_base sehen so aus
kumpel
| `-- Maildir
| |-- cur
| |-- new
| `-- tmp
(maildirmake is da sehr hilfreich)
in der authdaemonrc hab ich
authmodulelist="authuserdb"
angegeben (will vorerst nur userdb einsetzen, weil es einfach und ausreichend
ist)
user anlegen:
# userdb "kumpel" set home=/home/mailboxes/kumpel \
mail=/home/mailboxes/kumpel/Maildir \
uid=1100 gid=1100
# userdbpw -md5 | userdb "kumpel" set imappw
Password:
#
so lege ich die user an ...
courier-imap und courier-pop lauschen auf 127.0.0.1.110 bzw. 127.0.0.1.143
Jetzt loggt sich mein blinder Freund mittels ssh auf die virtuelle maschine
ein, und landet als 'lokaler user' des Systems in seinem Home-Verzeichnis
/home/freund
und will mittels fetchmail seine emails von /hme/mailboxes/kumpel/Maildir/new
abholen ...
freun:~$ cat .fetchmailrc
poll localhost with proto imap port 143 user "kumpel" there with
password "passvonkumpel" is "freund" here sslproto ssl23
nach fetchmail werden alle emails, die auf Abholung warten, gebounced! :-)
wenn ich anstelle von "freund" "freund at domain1.at" schreibe, dann werden die
mails vom kumpel-Bereich in den catch-all-domain1-Bereich verschoben
wenn ichanstelle von "freund at domain1.at" kumpel at domain1.at" schreibe, dann
bleiben die mails genau da, wo sie jetzt sind ...
Jetzt muss es wahrscheinlich eine Kombination von settings in den diversen
tables geben, die es ermoeglichen, dass der lokale user 'freund' die email
anch Eingabe des korrekten passworts fuer kumpel abholen kann ....
das ist das letzte, was ich noch funktionierend brauche, bevor wir domain2.at
vom bestehenden System auf das neue uebertragen
wie kann ich mit fetchmail die mails als lokaler user nun abholen, sodass die
im ~ landen?
ich hoff, ich hab' mich klar ausgedrueckt (es muss gerade alles so schnell und
gleichzeitig passieren ;-) )
Danke euch fuer Eure Vorschlaege - und wahrscheinlich gibt es eine einfache
Loesung ...
thanks a lot!
Michael
Mehr Informationen über die Mailingliste Postfixbuch-users