folks,
i am setting up a mail server for the first time. as i'm running gentoo, i thought i'd follow their postfix howto verbatim:
http://www.gentoo.org/doc/en/virt-mail-howto.xml
in this setup, i can get postfix working - mail is delivered both ways.
after some debugging, i have got TLS working both ways as well.
courier is working & allows remote POP3 access.
however, when i try to relay email from my laptop, SMPTD fails authentication.
here's what /var/log/mail.log spits out when the connection is attempted:
Code:
postfix/smtpd[2466]: TLS connection established from $MYHOST: TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)
postfix/smtpd[2466]: name_mask: noanonymous
postfix/smtpd[2466]: watchdog_pat: 0x2ab191e0
postfix/smtpd[2466]: < $MYHOST: EHLO thinkpad
postfix/smtpd[2466]: > $MYHOST: 250-domain.com
postfix/smtpd[2466]: > $MYHOST: 250-PIPELINING
postfix/smtpd[2466]: > $MYHOST: 250-SIZE 10240000
postfix/smtpd[2466]: > $MYHOST: 250-VRFY
postfix/smtpd[2466]: > $MYHOST: 250-ETRN
postfix/smtpd[2466]: > $MYHOST: 250-AUTH LOGIN PLAIN
postfix/smtpd[2466]: > $MYHOST: 250-AUTH=LOGIN PLAIN
postfix/smtpd[2466]: match_list_match: $MYHOST: no match
postfix/smtpd[2466]: match_list_match: $MYHOST: no match
postfix/smtpd[2466]: > $MYHOST: 250 8BITMIME
postfix/smtpd[2466]: watchdog_pat: 0x2ab191e0
postfix/smtpd[2466]: < $MYHOST: AUTH PLAIN
postfix/smtpd[2466]: smtpd_sasl_authenticate: sasl_method PLAIN
postfix/smtpd[2466]: smtpd_sasl_authenticate: uncoded challenge:
postfix/smtpd[2466]: > $MYHOST: 334
postfix/smtpd[2466]: < $MYHOST: XXXXXXXXXXXX
postfix/smtpd[2466]: smtpd_sasl_authenticate: decoded response:
postfix/smtpd[2466]: warning: SASL authentication failure: Password verification failed
postfix/smtpd[2466]: warning: $MYHOST: SASL PLAIN authentication failed
postfix/smtpd[2466]: > $MYHOST: 535 Error: authentication failed
postfix/smtpd[2466]: watchdog_pat: 0x2ab191e0
postfix/smtpd[2466]: < $MYHOST: QUIT
postfix/smtpd[2466]: > $MYHOST: 221 Bye
postfix/smtpd[2466]: disconnect from $MYHOST
postfix/smtpd[2466]: master_notify: status 1
postfix/smtpd[2466]: connection closed
i have carefully checked all passwords (the P/W passed by the remote host to postfix and the P/W in the mysql database, not to mention the normal pam P/W in /etc/passwd) and they're identical.
here's my /etc/sasl2/smtpd.conf:
Code:
mech_list: PLAIN LOGIN
pwcheck_method: saslauthd
it's a little unclear to me what points saslauthd to all the mysql connection files i place in /etc/postfix/ , but still they seem to get read, according to the mail.log:
Code:
postfix/smtpd[2466]: match_string: mynetworks ~? mynetworks
postfix/smtpd[2466]: match_string: relay_domains ~? debug_peer_list
postfix/smtpd[2466]: match_string: relay_domains ~? fast_flush_domains
postfix/smtpd[2466]: match_string: relay_domains ~? mynetworks
postfix/smtpd[2466]: match_string: relay_domains ~? permit_mx_backup_networks
postfix/smtpd[2466]: match_string: relay_domains ~? qmqpd_authorized_clients
postfix/smtpd[2466]: match_string: relay_domains ~? relay_domains
postfix/smtpd[2466]: match_string: permit_mx_backup_networks ~? debug_peer_list
postfix/smtpd[2466]: match_string: permit_mx_backup_networks ~? fast_flush_domains
postfix/smtpd[2466]: match_string: permit_mx_backup_networks ~? mynetworks
postfix/smtpd[2466]: match_string: permit_mx_backup_networks ~? permit_mx_backup_networks
postfix/smtpd[2466]: dict_open: hash:/etc/mail/aliases
postfix/smtpd[2466]: cfg_get_str: /etc/postfix/mysql-virtual-maps.cf: user = user
postfix/smtpd[2466]: cfg_get_str: /etc/postfix/mysql-virtual-maps.cf: password = passwd
postfix/smtpd[2466]: cfg_get_str: /etc/postfix/mysql-virtual-maps.cf: dbname = mailsql
postfix/smtpd[2466]: cfg_get_str: /etc/postfix/mysql-virtual-maps.cf: table = users
postfix/smtpd[2466]: cfg_get_str: /etc/postfix/mysql-virtual-maps.cf: select_field = maildir
postfix/smtpd[2466]: cfg_get_str: /etc/postfix/mysql-virtual-maps.cf: where_field = email
postfix/smtpd[2466]: cfg_get_str: /etc/postfix/mysql-virtual-maps.cf: additional_conditions = and postfix = 'y'
postfix/smtpd[2466]: cfg_get_str: /etc/postfix/mysql-virtual-maps.cf: hosts = unix:/var/run/mysqld/mysqld.sock
postfix/smtpd[2466]: mysqlname_parse: /etc/postfix/mysql-virtual-maps.cf: adding host 'unix:/var/run/mysqld/mysqld.sock' to list of mysql server hosts
postfix/smtpd[2466]: dict_open: mysql:/etc/postfix/mysql-virtual-maps.cf
postfix/smtpd[2466]: dict_open: unix:passwd.byname
postfix/smtpd[2466]: cfg_get_str: /etc/postfix/mysql-virtual.cf: user = user
postfix/smtpd[2466]: cfg_get_str: /etc/postfix/mysql-virtual.cf: password = passwd
postfix/smtpd[2466]: cfg_get_str: /etc/postfix/mysql-virtual.cf: dbname = mailsql
postfix/smtpd[2466]: cfg_get_str: /etc/postfix/mysql-virtual.cf: table = virtual
postfix/smtpd[2466]: cfg_get_str: /etc/postfix/mysql-virtual.cf: select_field = destination
postfix/smtpd[2466]: cfg_get_str: /etc/postfix/mysql-virtual.cf: where_field = email
postfix/smtpd[2466]: cfg_get_str: /etc/postfix/mysql-virtual.cf: additional_conditions =
postfix/smtpd[2466]: cfg_get_str: /etc/postfix/mysql-virtual.cf: hosts = unix:/var/run/mysqld/mysqld.sock
postfix/smtpd[2466]: mysqlname_parse: /etc/postfix/mysql-virtual.cf: adding host 'unix:/var/run/mysqld/mysqld.sock' to list of mysql server hosts
postfix/smtpd[2466]: dict_open: mysql:/etc/postfix/mysql-virtual.cf
postfix/smtpd[2466]: match_string: smtpd_access_maps ~? debug_peer_list
postfix/smtpd[2466]: match_string: smtpd_access_maps ~? fast_flush_domains
postfix/smtpd[2466]: match_string: smtpd_access_maps ~? mynetworks
postfix/smtpd[2466]: match_string: smtpd_access_maps ~? permit_mx_backup_networks
postfix/smtpd[2466]: match_string: smtpd_access_maps ~? qmqpd_authorized_clients
postfix/smtpd[2466]: match_string: smtpd_access_maps ~? relay_domains
postfix/smtpd[2466]: match_string: smtpd_access_maps ~? smtpd_access_maps
postfix/smtpd[2466]: smtpd_sasl_initialize: SASL config file is smtpd.conf
and here is /etc/postfix/main.cf:
Code:
myhostname = host.domain.com
mydomain = domain.com
inet_interfaces = all
mydestination = $myhostname, localhost.$mydomain, $mydomain
mynetworks = ip.add.dr.ess/32, 127.0.0.0/8
home_mailbox = .maildir/
local_destination_concurrency_limit = 2
default_destination_concurrency_limit = 10
smtpd_sasl_auth_enable = yes
smtpd_sasl2_auth_enable = yes
smtpd_sasl_security_options = noanonymous
broken_sasl_auth_clients = yes
smtpd_sasl_local_domain =
smtpd_recipient_restrictions = permit_sasl_authenticated, permit_mynetworks, reject_unauth_destination
smtpd_use_tls = yes
smtpd_tls_key_file = /etc/postfix/newreq.pem
smtpd_tls_cert_file = /etc/postfix/newcert.pem
smtpd_tls_CAfile = /etc/postfix/cacert.pem
smtpd_tls_loglevel = 3
smtpd_tls_received_header = yes
smtpd_tls_session_cache_timeout = 3600s
tls_random_source = dev:/dev/urandom
alias_maps = mysql:/etc/postfix/mysql-aliases.cf
relocated_maps = mysql:/etc/postfix/mysql-relocated.cf
virtual_minimum_uid = 1000
virtual_gid_maps = static:1003
virtual_mailbox_maps = mysql:/etc/postfix/mysql-virtual-maps.cf
virtual_alias_maps = mysql:/etc/postfix/mysql-virtual.cf
virtual_uid_maps = static:1003
virtual_mailbox_base = /
local_transport = local
local_recipient_maps = $alias_maps $virtual_mailbox_maps unix:passwd.byname
virtual_transport = virtual
virtual_mailbox_domains = virt-bar.com
queue_directory = /var/spool/postfix
command_directory = /usr/sbin
daemon_directory = /usr/lib/postfix
mail_owner = postfix
unknown_local_recipient_reject_code = 550
debug_peer_level = 2
debugger_command =
PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin
xxgdb $daemon_directory/$process_name $process_id & sleep 5
sendmail_path = /usr/sbin/sendmail
newaliases_path = /usr/bin/newaliases
mailq_path = /usr/bin/mailq
setgid_group = postdrop
html_directory = no
manpage_directory = /usr/share/man
sample_directory = /etc/postfix
readme_directory = /usr/share/doc/postfix-2.1.5-r2/readme
alias_database = hash:/etc/mail/aliases
can anybody tell me what i've misconfigured?
TIA