[Postfixbuch-users] Postfix + MySQL: bei Aliasen "unknown user" , Mailbox-Zustellung klappt

Oskar Eyb oskar-postfix at eyb.de
Fr Jan 4 18:02:50 CET 2008


Hallo!

nachdem das andere nervtötende Problem behoben ist (Danke Liste!),
bleibt noch das einschneidendere übrig: Die in der Datenbank definierten
Aliase funktionieren nicht.


Testdomain: mail.eyb.de  (backupmx = 0)


Mailbox-account: oskar (at) mail.eyb.de
alias: alias (at) mail.eyb.de


maillog beim Einliefern:

Jan  4 16:23:16 beastie postfix/smtpd[75724]: connect from
smtprelay10.ispgateway.de[80.67.29.24]
Jan  4 16:23:16 beastie postfix/trivial-rewrite[76422]: warning: do not
list domain mail.eyb.de in BOTH virtual_mailbox_domains and relay_domains
Jan  4 16:23:16 beastie postfix/smtpd[75724]: BE2B38B7A3B:
client=smtprelay10.ispgateway.de[80.67.29.24]
Jan  4 16:23:16 beastie postfix/cleanup[76548]: BE2B38B7A3B:
message-id=<477E4F53.60807 at eyb.de>
Jan  4 16:23:16 beastie postfix/qmgr[64347]: BE2B38B7A3B:
from=<oskar(at)eyb.de>, size=1201, nrcpt=1 (queue active)
Jan  4 16:23:16 beastie postfix/trivial-rewrite[76422]: warning: do not
list domain mail.eyb.de in BOTH virtual_mailbox_domains and relay_domains
Jan  4 16:23:16 beastie postfix/smtpd[75724]: disconnect from
smtprelay10.ispgateway.de[80.67.29.24]
Jan  4 16:23:16 beastie postfix/virtual[76646]: BE2B38B7A3B:
to=<alias(at)mail.eyb.de>, relay=virtual, delay=0.12,
delays=0.1/0.01/0/0.02, dsn=4.1.1, status=SOFTBOUNCE (unknown user:
"alias(at)mail.eyb.de")


An oskar(at)test.eyb.de kommt nur der "warning: do not list domain
mail.eyb.de in BOTH virtual_mailbox_domains and relay_domains" - Fehler,
die Zustellung ins Maildir funktioniert.




virtual_alias_maps = mysql:/usr/local/etc/postfix/sql_virtual_alias_maps.cf

user = postfix
password = passwort
hosts = 172.16.0.3
dbname = postfix
query = SELECT goto FROM alias WHERE address='%s' AND active = 1

mysql> SELECT goto FROM alias WHERE address='oskar at mail.eyb.de' AND
active = 1;
+-------------------+
| goto              |
+-------------------+
| oskar at mail.eyb.de |
+-------------------+
1 row in set (0.00 sec)



mysql> SELECT goto FROM alias WHERE address='alias at mail.eyb.de' AND
active = 1;
+-------------------+
| goto              |
+-------------------+
| oskar at mail.eyb.de |
+-------------------+
1 row in set (0.00 sec)



**** das wichtigste klappt doch, ich verstehe nicht, warum "unknown
user". (naja, ist ja auch kein user, sondern ein alias, weiss nicht,
inwieweit postfix da beim zustellen unterscheidet). Transport ist "virtual".






virtual_mailbox_domains =
mysql:/usr/local/etc/postfix/sql_virtual_domains_maps.cf

user = postfix
password = passwort
hosts = 172.16.0.3
dbname = postfix
query = SELECT domain FROM domain WHERE domain='%s' AND backupmx = '0'
AND active = '1'


mysql> SELECT domain FROM domain WHERE domain='mail.eyb.de' AND backupmx
= '0' AND active = '1';
+-------------+
| domain      |
+-------------+
| mail.eyb.de |
+-------------+
1 row in set (0.00 sec)




virtual_mailbox_limit_maps =
mysql:/usr/local/etc/postfix/sql_virtual_mailbox_limit_maps.cf

user = postfix
password = passwort
hosts = 172.16.0.3
dbname = postfix
query = SELECT quota FROM mailbox WHERE username='%s' AND active = '1'


mysql> SELECT quota FROM mailbox WHERE username='oskar at mail.eyb.de' AND
active = '1';
+-------+
| quota |
+-------+
|     0 |
+-------+
1 row in set (0.00 sec)


mysql> SELECT quota FROM mailbox WHERE username='alias at mail.eyb.de' AND
active = '1';
Empty set (0.00 sec)




virtual_mailbox_maps =
mysql:/usr/local/etc/postfix/sql_virtual_mailbox_maps.cf

user = postfix
password = passwort
hosts = 172.16.0.3
dbname = postfix
query = SELECT maildir FROM mailbox WHERE username='%s' AND active = '1'



mysql> SELECT maildir FROM mailbox WHERE username='oskar at mail.eyb.de'
AND active = '1';
+--------------------+
| maildir            |
+--------------------+
| oskar at mail.eyb.de/ |
+--------------------+
1 row in set (0.00 sec)


mysql> SELECT maildir FROM mailbox WHERE username='test at mail.eyb.de' AND
active = '1';
Empty set (0.00 sec)



verbose maillog ab Vorkommen von alias at mail.eyb.de

Jan  4 16:35:33 beastie postfix/smtpd[3348]: <
smtprelay02.ispgateway.de[80.67.18.14]: RCPT TO:<alias at mail.eyb.de>
Jan  4 16:35:33 beastie postfix/smtpd[3348]: extract_addr: input:
<alias at mail.eyb.de>
Jan  4 16:35:33 beastie postfix/smtpd[3348]: smtpd_check_addr:
addr=alias at mail.eyb.de
Jan  4 16:35:33 beastie postfix/smtpd[3348]: send attr request = rewrite
Jan  4 16:35:33 beastie postfix/smtpd[3348]: send attr rule = local
Jan  4 16:35:33 beastie postfix/smtpd[3348]: send attr address =
alias at mail.eyb.de
Jan  4 16:35:33 beastie postfix/smtpd[3348]: private/rewrite socket:
wanted attribute: flags
Jan  4 16:35:33 beastie postfix/smtpd[3348]: input attribute name: flags
Jan  4 16:35:33 beastie postfix/smtpd[3348]: input attribute value: 0
Jan  4 16:35:33 beastie postfix/smtpd[3348]: private/rewrite socket:
wanted attribute: address
Jan  4 16:35:33 beastie postfix/smtpd[3348]: input attribute name: address
Jan  4 16:35:33 beastie postfix/smtpd[3348]: input attribute value:
alias at mail.eyb.de
Jan  4 16:35:33 beastie postfix/smtpd[3348]: private/rewrite socket:
wanted attribute: (list terminator)
Jan  4 16:35:33 beastie postfix/smtpd[3348]: input attribute name: (end)
Jan  4 16:35:33 beastie postfix/smtpd[3348]: rewrite_clnt: local:
alias at mail.eyb.de -> alias at mail.eyb.de
Jan  4 16:35:33 beastie postfix/smtpd[3348]: send attr request = resolve
Jan  4 16:35:33 beastie postfix/smtpd[3348]: send attr sender =
Jan  4 16:35:33 beastie postfix/smtpd[3348]: send attr address =
alias at mail.eyb.de
Jan  4 16:35:33 beastie postfix/trivial-rewrite[3875]: warning: do not
list domain mail.eyb.de in BOTH virtual_mailbox_domains a
nd relay_domains
Jan  4 16:35:33 beastie postfix/smtpd[3348]: private/rewrite socket:
wanted attribute: flags
Jan  4 16:35:33 beastie postfix/smtpd[3348]: input attribute name: flags
Jan  4 16:35:33 beastie postfix/smtpd[3348]: input attribute value: 0
Jan  4 16:35:33 beastie postfix/smtpd[3348]: private/rewrite socket:
wanted attribute: transport
Jan  4 16:35:33 beastie postfix/smtpd[3348]: input attribute name: transport
Jan  4 16:35:33 beastie postfix/smtpd[3348]: input attribute value: virtual
Jan  4 16:35:33 beastie postfix/smtpd[3348]: private/rewrite socket:
wanted attribute: nexthop
Jan  4 16:35:33 beastie postfix/smtpd[3348]: input attribute name: nexthop
Jan  4 16:35:33 beastie postfix/smtpd[3348]: input attribute value:
mail.eyb.de
Jan  4 16:35:33 beastie postfix/smtpd[3348]: private/rewrite socket:
wanted attribute: recipient
Jan  4 16:35:33 beastie postfix/smtpd[3348]: input attribute name: recipient
Jan  4 16:35:33 beastie postfix/smtpd[3348]: input attribute value:
alias at mail.eyb.de
Jan  4 16:35:33 beastie postfix/smtpd[3348]: private/rewrite socket:
wanted attribute: flags
Jan  4 16:35:33 beastie postfix/smtpd[3348]: input attribute name: flags
Jan  4 16:35:33 beastie postfix/smtpd[3348]: input attribute value: 1024
Jan  4 16:35:33 beastie postfix/smtpd[3348]: private/rewrite socket:
wanted attribute: (list terminator)
Jan  4 16:35:33 beastie postfix/smtpd[3348]: input attribute name: (end)
Jan  4 16:35:33 beastie postfix/smtpd[3348]: resolve_clnt: `' ->
`alias at mail.eyb.de' -> transp=`virtual' host=`mail.eyb.de' rcpt
=`alias at mail.eyb.de' flags= class=virtual
Jan  4 16:35:33 beastie postfix/smtpd[3348]: ctable_locate: install
entry key alias at mail.eyb.de
Jan  4 16:35:33 beastie postfix/smtpd[3348]: extract_addr: in:
<alias at mail.eyb.de>, result: alias at mail.eyb.de
Jan  4 16:35:33 beastie postfix/smtpd[3348]: send attr request = rewrite
Jan  4 16:35:33 beastie postfix/smtpd[3348]: send attr rule = local
Jan  4 16:35:33 beastie postfix/smtpd[3348]: send attr address = postmaster
Jan  4 16:35:33 beastie postfix/smtpd[3348]: private/rewrite socket:
wanted attribute: flags
Jan  4 16:35:33 beastie postfix/smtpd[3348]: input attribute name: flags
Jan  4 16:35:33 beastie postfix/smtpd[3348]: input attribute value: 0
Jan  4 16:35:33 beastie postfix/smtpd[3348]: private/rewrite socket:
wanted attribute: address
Jan  4 16:35:33 beastie postfix/smtpd[3348]: input attribute name: address
Jan  4 16:35:33 beastie postfix/smtpd[3348]: input attribute value:
postmaster at beastie.eyb.de
Jan  4 16:35:33 beastie postfix/smtpd[3348]: private/rewrite socket:
wanted attribute: (list terminator)
Jan  4 16:35:33 beastie postfix/smtpd[3348]: input attribute name: (end)
Jan  4 16:35:33 beastie postfix/smtpd[3348]: rewrite_clnt: local:
postmaster -> postmaster at beastie.eyb.de
Jan  4 16:35:33 beastie postfix/smtpd[3348]: >>> START Recipient address
RESTRICTIONS <<<
Jan  4 16:35:33 beastie postfix/smtpd[3348]: generic_checks:
name=permit_mynetworks
Jan  4 16:35:33 beastie postfix/smtpd[3348]: permit_mynetworks:
smtprelay02.ispgateway.de 80.67.18.14
Jan  4 16:35:33 beastie postfix/smtpd[3348]: match_hostname:
smtprelay02.ispgateway.de ~? 127.0.0.0/8
Jan  4 16:35:33 beastie postfix/smtpd[3348]: match_hostaddr: 80.67.18.14
~? 127.0.0.0/8
Jan  4 16:35:33 beastie postfix/smtpd[3348]: match_hostname:
smtprelay02.ispgateway.de ~? 172.16.0.0/24
Jan  4 16:35:33 beastie postfix/smtpd[3348]: match_hostaddr: 80.67.18.14
~? 172.16.0.0/24
Jan  4 16:35:33 beastie postfix/smtpd[3348]: match_list_match:
smtprelay02.ispgateway.de: no match
Jan  4 16:35:33 beastie postfix/smtpd[3348]: match_list_match:
80.67.18.14: no match
Jan  4 16:35:33 beastie postfix/smtpd[3348]: generic_checks:
name=permit_mynetworks status=0
Jan  4 16:35:33 beastie postfix/smtpd[3348]: generic_checks:
name=permit_sasl_authenticated
Jan  4 16:35:33 beastie postfix/smtpd[3348]: generic_checks:
name=permit_sasl_authenticated status=0
Jan  4 16:35:33 beastie postfix/smtpd[3348]: generic_checks:
name=check_helo_access
Jan  4 16:35:33 beastie postfix/smtpd[3348]: check_domain_access:
smtprelay02.ispgateway.de
Jan  4 16:35:33 beastie postfix/smtpd[3348]: dict_pcre_lookup:
/etc/postfix/helo_checks: smtprelay02.ispgateway.de

[ checks ]


Jan  4 16:35:34 beastie postfix/smtpd[3348]: connection closed
Jan  4 16:35:34 beastie postfix/virtual[4267]: 007F78B7D7A:
to=<alias at mail.eyb.de>, relay=virtual, delay=0.12, delays=0.09/0.01/
0/0.02, dsn=4.1.1, status=SOFTBOUNCE (unknown user: "alias at mail.eyb.de")
Jan  4 16:35:38 beastie postfix/smtpd[3348]: proxymap stream disconnect
Jan  4 16:35:38 beastie postfix/smtpd[3348]: auto_clnt_close: disconnect
private/tlsmgr stream
Jan  4 16:35:38 beastie postfix/smtpd[3348]: rewrite stream disconnect





postconf -n   (aktualisiert)

broken_sasl_auth_clients = yes
command_directory = /usr/local/sbin
config_directory = /usr/local/etc/postfix
daemon_directory = /usr/local/libexec/postfix
debug_peer_level = 2
header_checks = pcre:/usr/local/etc/postfix/header_checks.pcre
html_directory = no
inet_interfaces = 172.16.0.2
mail_owner = postfix
mailq_path = /usr/local/bin/mailq
manpage_directory = /usr/local/man
myhostname = beastie.eyb.de
mynetworks = 127.0.0.0/8, 172.16.0.0/24
mynetworks_style = subnet
newaliases_path = /usr/local/bin/newaliases
parent_domain_matches_subdomains = debug_peer_list,
fast_flush_domains,   mynetworks,   permit_mx_backup_networks,
qmqpd_authorized_clients,   smtpd_access_maps
queue_directory = /var/spool/postfix
readme_directory = no
relay_domains = mysql:/usr/local/etc/postfix/sql_relay_domains_maps.cf
sample_directory = /usr/local/etc/postfix
sendmail_path = /usr/local/sbin/sendmail
setgid_group = maildrop
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/smtp_auth_passwd
smtp_sasl_security_options = noanonymous, noplaintext
smtp_sasl_tls_security_options = noanonymous
smtp_tls_CAfile = /etc/local-etc/apache/ssl.crt/ca-bundle.crt
smtp_tls_note_starttls_offer = yes
smtp_tls_per_site = hash:/etc/postfix/tls_per_site
smtp_use_tls = yes
smtpd_banner = $myhostname ESMTP (bln-mx1)
smtpd_data_restrictions = reject_unauth_pipelining,
reject_multi_recipient_bounce,
smtpd_delay_reject = no
smtpd_recipient_restrictions = permit_mynetworks,
permit_sasl_authenticated,    check_helo_access
pcre:/etc/postfix/helo_checks     reject_invalid_hostname,
reject_non_fqdn_hostname,    reject_non_fqdn_recipient,
reject_non_fqdn_hostname,    reject_unknown_recipient_domain,
reject_unknown_sender_domain,    reject_non_fqdn_sender,
reject_rhsbl_sender rhsbl.sorbs.net,    reject_rhsbl_sender
dsn.rfc-ignorant.org,    reject_unauth_destination
smtpd_sasl_auth_enable = yes
smtpd_sasl_authenticated_header = yes
smtpd_sasl_local_domain = $myhostname
smtpd_sasl_path = smtpd
smtpd_sasl_security_options = noanonymous
smtpd_sasl_type = cyrus
smtpd_tls_CAfile = /usr/local/etc/postfix/ssl/smtpd.pem
smtpd_tls_auth_only = yes
smtpd_tls_cert_file = /usr/local/etc/postfix/ssl/smtpd.pem
smtpd_tls_key_file = /usr/local/etc/postfix/ssl/smtpd.pem
smtpd_tls_loglevel = 1
smtpd_tls_received_header = yes
smtpd_tls_session_cache_timeout = 3600s
smtpd_use_tls = yes
soft_bounce = yes
tls_random_source = dev:/dev/urandom
transport_maps = mysql:/usr/local/etc/postfix/sql_transport_maps.cf,
pcre:/usr/local/etc/postfix/transport.pcre
unknown_local_recipient_reject_code = 550
virtual_alias_maps = mysql:/usr/local/etc/postfix/sql_virtual_alias_maps.cf
virtual_gid_maps = static:130
virtual_mailbox_base = /data/maildirs
virtual_mailbox_domains =
mysql:/usr/local/etc/postfix/sql_virtual_domains_maps.cf
virtual_mailbox_limit = 51200000
virtual_mailbox_limit_maps =
mysql:/usr/local/etc/postfix/sql_virtual_mailbox_limit_maps.cf
virtual_mailbox_limit_override = yes
virtual_mailbox_maps =
mysql:/usr/local/etc/postfix/sql_virtual_mailbox_maps.cf
virtual_maildir_limit_message = Sorry, the user's maildir has overdrawn
his diskspace quota, please try again later.
virtual_minimum_uid = 130
virtual_overquota_bounce = yes
virtual_transport = virtual
virtual_uid_maps = static:130



Gruß,Oskar



Mehr Informationen über die Mailingliste Postfixbuch-users