Guten Tag,
ich habe ein Problem mit einem Mailserver, welchen ich schon seit Monaten einrichte. Eigentlich ist das wahrscheinlich der vorletzte Schritt, ich komme aber einfach nicht weiter - egal was ich versuche. Solange linux-benutzer mit einer Domain genutzt wurden, war alles bestens, aber mit virtuellen Nutzern klappt es nicht mehr.
Der Server läuft mit Debian Squeeze. Installiert sind
- Postfix
- courier-imap
- SASL
- mySQL
- spamassassin
- mehrere email Domains
- all das mit SSL / STARTTLS
Ich will die Email Domains mit virtuellen Benutzern betreiben. Ich habe also die Tabellen in mySQL erstellt und ich habe Änderungen in SASL und courier-imap vorgenommen. Aber stets heisst es in der 'mail.info' dann beim Versuch sich mit einem Mailprogramm einloggen:
Das ist mein Problem. So wie ich das sehe, liegt es nicht am Benutzer der Email, sondern daran, daß der mySQL Benutzer ( "mailuser" ) der Datenbank "mailserver" nicht akzeptiert wird. Endweder wg. seines logins oder wg. seines Passwortes. Und erst dann kann sich ein email Benutzer in seiner Mailbox anmelden, wenn courier mit mySQL Verbindung herstellen kann.
Meine config Dateien
postconf -n
smtpd.conf (sasl)
imapd.cf
authdaemonrc
authmysqlrc
/etc/postfix/virtual_domains
/etc/postfix/virtual_mailbox_aliases
/etc/postfix/virtual_recipients
/etc/postfix/virtual_alias
/etc/postfix/mysql-virtual-alias-maps.cf
/etc/postfix/mysql-virtual-mailbox-domains.cf
Auf dem Server gibt es neben root nur 2 Benutzer - "user1" und "user_2". Schreibweise ist ähnlich, die Namen durch "user" ersetzt. Aber an dem Unterstrich wird es wohl nicht liegen? Es gibt darüber hinaus ein Pfad "/home/mailusers/Maildir" und dann die einzelnen Postfächer.
mySQL
Es existiert wirklich eine mySQL Datenbank "mailserver", es wurde der Benutzer "mailuser" angelegt - nur das PW wurde natürlich ersetzt. Der mySQL Port ist jetzt 0, aber mit 3306 ging es auch nicht.
In der Tabelle "mailserver" gibt es 3 Tabellen
'virtual_domains', 'virutal_users' und 'virtual_aliases'
Die erste Tabelle - 'virutal_users' - enthält folgende Spalten:
Die Tabelle 'virtual_domains' folgende Spalten:
In der Tabelle 'virtual_aliases' folgende:
ich habe ein Problem mit einem Mailserver, welchen ich schon seit Monaten einrichte. Eigentlich ist das wahrscheinlich der vorletzte Schritt, ich komme aber einfach nicht weiter - egal was ich versuche. Solange linux-benutzer mit einer Domain genutzt wurden, war alles bestens, aber mit virtuellen Nutzern klappt es nicht mehr.
Der Server läuft mit Debian Squeeze. Installiert sind
- Postfix
- courier-imap
- SASL
- mySQL
- spamassassin
- mehrere email Domains
- all das mit SSL / STARTTLS
Ich will die Email Domains mit virtuellen Benutzern betreiben. Ich habe also die Tabellen in mySQL erstellt und ich habe Änderungen in SASL und courier-imap vorgenommen. Aber stets heisst es in der 'mail.info' dann beim Versuch sich mit einem Mailprogramm einloggen:
Code:
Jun 13 15:34:47 robo46 imapd: LOGIN FAILED, method=PLAIN, ip=[::ffff:xx.xx.xx.128]
Jun 13 15:34:47 robo46 imapd: authentication error: Input/output error
Jun 13 15:34:47 robo46 imapd: LOGIN FAILED, method=PLAIN, ip=[::ffff:xx.xx.xx.128]
Jun 13 15:34:47 robo46 imapd: authentication error: Input/output error
Jun 13 15:34:52 robo46 postfix/smtpd[25692]: connect from 174.xxx.xxx.xxx.static.mundo-r.com[xxx.xxx.xxx.174]
Jun 13 15:34:53 robo46 postfix/trivial-rewrite[25356]: warning: connect to mysql server 127.0.0.1: Access denied for user 'mailuser'@'localhost' (using password: YES)
Jun 13 15:34:53 robo46 postfix/trivial-rewrite[25356]: fatal: mysql:/etc/postfix/mysql-virtual-alias-maps.cf(0,lock|fold_fix): table lookup problem
Jun 13 15:34:54 robo46 postfix/master[25346]: warning: process /usr/lib/postfix/trivial-rewrite pid 25356 exit status 1
Jun 13 15:34:55 robo46 postfix/pickup[25353]: 0C0F15642D5: uid=0 from=<root>
Jun 13 15:34:55 robo46 postfix/cleanup[3202]: warning: 2E6F35642D5: virtual_alias_maps map lookup problem for root@domain1.tld
Jun 13 15:34:55 robo46 postfix/trivial-rewrite[25696]: warning: connect to mysql server 127.0.0.1: Access denied for user 'mailuser'@'localhost' (using password: YES)
Jun 13 15:34:55 robo46 postfix/trivial-rewrite[25696]: fatal: mysql:/etc/postfix/mysql-virtual-alias-maps.cf(0,lock|fold_fix): table lookup problem
Jun 13 15:34:56 robo46 postfix/smtpd[25692]: warning: problem talking to service rewrite: Success
Jun 13 15:34:56 robo46 postfix/cleanup[25355]: warning: problem talking to service rewrite: Connection reset by peer
Jun 13 15:34:56 robo46 postfix/master[25346]: warning: process /usr/lib/postfix/trivial-rewrite pid 25696 exit status 1
Jun 13 15:34:56 robo46 postfix/master[25346]: warning: /usr/lib/postfix/trivial-rewrite: bad command startup -- throttling
Meine config Dateien
postconf -n
Code:
alias_database = hash:/etc/aliases
alias_maps = hash:/etc/aliases
broken_sasl_auth_clients = yes
config_directory = /etc/postfix
home_mailbox = Maildir/
html_directory = /usr/share/doc/postfix/html
inet_interfaces = all
inet_protocols = ipv4
mailbox_command = procmail -a "$EXTENSION"
mailbox_size_limit = 0
mydestination = $myhostname, $mydomain, localhost, localhost.$mydomain
mydomain = domain1.tld
myhostname = robo46.domain1.tld
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
myorigin = $mydomain
readme_directory = /usr/share/doc/postfix
recipient_delimiter = +
relay_domains = domain2.tld, domain3.tld
relayhost =
smtp_tls_note_starttls_offer = yes
smtp_tls_security_level = may
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
smtpd_helo_required = yes
smtpd_recipient_restrictions = reject_non_fqdn_sender, reject_non_fqdn_recipient, reject_unknown_sender_domain, reject_unknown_recipient_domain, permit_sasl_authenticated, permit_mynetworks, reject_rbl_client zen.spamhaus.org, reject_rbl_client ix.dnsbl.maintu.net, reject_unauth_destination, permit
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
smtpd_tls_cert_file = /etc/ssl/certs/postfix.pem
smtpd_tls_key_file = /etc/ssl/private/postfix.pem
smtpd_tls_loglevel = 1
smtpd_tls_received_header = yes
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtpd_tls_session_cache_timeout = 3600s
smtpd_use_tls = yes
strict_rfc821_envelopes = yes
tls_random_prng_update_period = 3600s
tls_random_source = dev:/dev/urandom
virtual_alias_maps = mysql:/etc/postfix/mysql-virtual-alias-maps.cf
virtual_gid_maps = static:5000
virtual_mailbox_base = /home/mailusers/Maildir
virtual_mailbox_domains = mysql:/etc/postfix/mysql-virtual-mailbox-domains.cf
virtual_mailbox_maps = mysql:/etc/postfix/mysql-virtual-mailbox-maps.cf
virtual_uid_maps = static:5000
Code:
pwcheck_method: saslauthd
mech_list: digest-md5 cram-md5 login plain
auxprop_plugin: mysql
sql_hostnames: 127.0.0.1
sql_user: vmailuser
sql_passwd: abcdEFG123456
sql_database: vmailserver
sql_select: select password from users where email = '%u'
Code:
ADDRESS=0
PORT=143
MAXDAEMONS=40
MAXPERIP=20
PIDFILE=/var/run/courier/imapd.pid
TCPDOPTS="-nodnslookup -noidentlookup"
LOGGEROPTS="-name=imapd"
IMAP_CAPABILITY="IMAP4rev1 UIDPLUS CHILDREN NAMESPACE THREAD=ORDEREDSUBJECT THREAD=REFERENCES SORT QUOTA IDLE"
IMAP_KEYWORDS=1
IMAP_ACL=1
IMAP_CAPABILITY_ORIG="IMAP4rev1 UIDPLUS CHILDREN NAMESPACE THREAD=ORDEREDSUBJECT THREAD=REFERENCES SORT QUOTA AUTH=CRAM-MD5 AUTH=CRAM-SHA1 AUTH=CRAM-SHA256 IDLE"
IMAP_PROXY=0
IMAP_PROXY_FOREIGN=0
IMAP_IDLE_TIMEOUT=60
IMAP_MAILBOX_SANITY_CHECK=1
IMAP_CAPABILITY_TLS="$IMAP_CAPABILITY AUTH=PLAIN"
IMAP_CAPABILITY_TLS_ORIG="$IMAP_CAPABILITY_ORIG AUTH=PLAIN"
IMAP_DISABLETHREADSORT=0
IMAP_CHECK_ALL_FOLDERS=0
IMAP_OBSOLETE_CLIENT=0
IMAP_UMASK=022
IMAP_ULIMITD=131072
IMAP_USELOCKS=1
IMAP_SHAREDINDEXFILE=/etc/courier/shared/index
IMAP_ENHANCEDIDLE=0
IMAP_TRASHFOLDERNAME=Trash
IMAP_EMPTYTRASH=Trash:7
IMAP_MOVE_EXPUNGE_TO_TRASH=0
SENDMAIL=/usr/sbin/sendmail
HEADERFROM=X-IMAP-Sender
IMAPDSTART=YES
MAILDIRPATH=Maildir
AUTHMODULES="authdaemon"
Code:
authmodulelist="authmysql"
authmodulelistorig="authuserdb authpam authpgsql authldap authmysql authcustom authpipe"
daemons=5
authdaemonvar=/var/run/courier/authdaemon
DEBUG_LOGIN=0
DEFAULTOPTIONS=""
LOGGEROPTS=""
Code:
MYSQL_SERVER localhost
MYSQL_USERNAME mailuser
MYSQL_PASSWORD abcdEFG123456
MYSQL_PORT 0
MYSQL_OPT 0
MYSQL_DATABASE mailserver
MYSQL_USER_TABLE virtual_users
MYSQL_CRYPT_PWFIELD password
MYSQL_UID_FIELD uid
MYSQL_GID_FIELD gid
MYSQL_LOGIN_FIELD email
MYSQL_HOME_FIELD "/home/mailusers"
MYSQL_NAME_FIELD name
MYSQL_MAILDIR_FIELD CONCAT(SUBSTRING_INDEX(email,'@',-1),'/',SUBSTRING_INDEX(email,'@',1),'/')
Code:
domain1.tld,
domain2.tld,
domain3.tld,
Code:
golum@domain2.tld golum@domain2.tld
golum@domain1.tld golum@domain1.tld
postmaster@domain2.tld golum@domain2.tld
abuse@domain2.tld golum@domain2.tld
postmaster@domain1.tld golum@domain1.tld
abuse@domain1.tld golum@domain1.tld
Code:
golum@domain2.tld domain2.tld/golum/
golum@domain1.tld domain1.tld/golum/
Code:
golum@domain1.tld user1
smurf@domain1.tld user1
goblin@domain1.tld user1
drache@domain1.tld user1
zwerg@domain1.tld user1
golum@domain2.tld user_2
hexe@domain2.tld user_2
Code:
user = mailuser
hosts = 127.0.0.1
dbname = mailserver
query = SELECT destination FROM virtual_aliases WHERE source='%s'
Code:
user = mailuser
hosts = 127.0.0.1
dbname = mailserver
query = SELECT 1 FROM virtual_domains WHERE name='%s'
mySQL
Es existiert wirklich eine mySQL Datenbank "mailserver", es wurde der Benutzer "mailuser" angelegt - nur das PW wurde natürlich ersetzt. Der mySQL Port ist jetzt 0, aber mit 3306 ging es auch nicht.
In der Tabelle "mailserver" gibt es 3 Tabellen
'virtual_domains', 'virutal_users' und 'virtual_aliases'
Die erste Tabelle - 'virutal_users' - enthält folgende Spalten:
Code:
'id'
'domain_id'
'passwort'
'email'
Code:
'id'
'name'
Code:
'id'
'domain_id'
'source'
'destination'
Zuletzt bearbeitet: