[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