Dear all,
I have a problem setting up an E-mail service using cyrus and postfix on SuSE
10.1 (RC3). all my user's accounts info is in the MYSQL database ( a table
with "login" and "pass" string columns), and i tryed pam_mysql and sasl_sql
plugin, both with the same result.
The cyrus itself looks OK, i can even successfully log into a users mailbox,
and the postfix seems to understand that config too -- i set up SASL
authentication for smtpd server, and it lets me to send mail outside only
if i provide correct users login and password.
But: posfix refuses to deliver local mail for my domain (see log quotations
below) ragardless whatever local_transprot i use: cyrus or lmtp.
however: when i issue the same command that is specified in master.cf file
manually as "cyrus" user, like
su cyrus
/usr/lib/cyrus/bin/deliver -r user@mail.com user5
where user5 is one of my accounts defined in DB,
and then type in a message, like
From: user@mail.com
To: user5@mydomain.ru
Subject: Test
TEST
.
Contrl^D
I get the message delivered into user's INBOX just fine. (and the user's INBOX
get autocreated as well)
Any help will be appreciated!!!
well, below are quitations from logfiles and configs:
mydomain.ru -- replaces my domain name.
here is what i have in logfiles, when postfix tries local delivery:
/var/log/mail:
--------------------------------------------------------------------------------
May 1 17:44:03 server postfix/qmgr[5146]: BCCFB3E51C:
from=, size=537, nrcpt=1 (queue active)
May 1 17:44:03 server postfix/local[5151]: warning: connect #1 to subsystem
private/lmtp: Operation not permitted
............... <then similar messages> .....................
May 1 17:45:43 server postfix/local[5153]: fatal: connect #11 to subsystem
private/lmtp: Operation not permitted
May 1 17:45:44 server postfix/qmgr[5146]: warning: premature end-of-input on
private/local socket while reading input attribute name
May 1 17:45:44 server postfix/qmgr[5146]: warning: private/local socket:
malformed response
May 1 17:45:44 server postfix/qmgr[5146]: warning: transport local failure --
see a previous warning/fatal/panic logfile record for the
problem description
May 1 17:45:44 server postfix/master[5134]: warning:
process /usr/lib/postfix/local pid 5151 exit status 1
May 1 17:45:44 server postfix/master[5134]: warning: /usr/lib/postfix/local:
bad command startup -- throttling
May 1 17:45:44 server postfix/master[5134]: warning:
process /usr/lib/postfix/local pid 5153 exit status 1
May 1 17:45:44 server postfix/qmgr[5146]: 37DE0370FC: to=,
relay=none, delay=8053, status=deferred (delivery tempo
rarily suspended: unknown mail transport error)
May 1 17:45:44 server postfix/qmgr[5146]: warning: 37DE0370FC: flush service
failure
May 1 17:45:44 server postfix/qmgr[5146]: CDA8C36F10: to=,
relay=none, delay=323710, status=deferred (delivery tem
porarily suspended: unknown mail transport error)
-----------------------------------------------------------------------------------------
/var/log/messages:
nothing about this events
my Config files: (is there somethign that i miss?)
=======================================
/etc/imapd.conf:
--------------------------------------------------------------
configdirectory: /var/lib/imap
partition-default: /var/spool/imap
sievedir: /var/lib/sieve
admins: root postmaster cyrus
allowanonymouslogin: no
autocreatequota: 100000
createonpost: 1
reject8bit: no
quotawarn: 90
timeout: 30
poptimeout: 10
dracinterval: 0
drachost: localhost
allowplaintext: yes
servername: server.mydomain.ru
sasl_pwcheck_method: auxprop
lmtp_overquota_perm_failure: no
lmtp_downcase_rcpt: yes
========================================
/etc/cyrus.conf:
----------------------------------------------------------------
START {
recover cmd="ctl_cyrusdb -r"
idled cmd="idled"
}
SERVICES {
imap cmd="imapd" listen="imap" prefork=1
imaps cmd="imapd -s" listen="imaps" prefork=1
pop3 cmd="pop3d" listen="pop3" prefork=0
pop3s cmd="pop3d -s" listen="pop3s" prefork=0
sieve cmd="timsieved" listen="sieve" prefork=1
lmtp cmd="lmtpd" listen="lmtp" prefork=1
lmtpunix cmd="lmtpd" listen="/var/lib/imap/socket/lmtp" prefork=1
}
EVENTS {
checkpoint cmd="ctl_cyrusdb -c" period=30
delprune cmd="cyr_expire -E 3" at=0400
tlsprune cmd="tls_prune" at=0400
}
========================================
/usr/lib64/sasl2/Cyrus.conf (symlinks: imapd.conf imap.conf)
----------------------------------------------------------------
auxprop_plugin: sql
sql_engine: mysql
sql_user: mail
sql_passwd: gtxrby
sql_hostnames: localhost
sql_database: lanbilling
sql_statement: select pass from vgroups where login = '%u'
sql_usessl: no
password_format: plaintext
========================================
/usr/lib64/sasl2/smtpd.conf
----------------------------------------------------------------
mech_list: plain login
pwcheck_method: auxprop
auxprop_plugin: sql
sql_engine: mysql
sql_user: mail
sql_passwd: gtxrby
sql_hostnames: 127.0.0.1
sql_database: lanbilling
sql_statement: select pass from vgroups where login = '%u'
sql_usessl: no
password_format: plaintext
========================================
/etc/postfix/main.cf
----------------------------------------------------------------
mail_spool_directory = /var/mail
canonical_maps = hash:/etc/postfix/canonical
virtual_alias_maps = hash:/etc/postfix/virtual
virtual_alias_domains = hash:/etc/postfix/virtual
relocated_maps = hash:/etc/postfix/relocated
transport_maps = hash:/etc/postfix/transport
sender_canonical_maps = hash:/etc/postfix/sender_canonical
local_recipient_maps = mysql:/etc/postfix/mysql-local.cf $alias_maps
masquerade_exceptions = root
masquerade_classes = envelope_sender, header_sender, header_recipient
myhostname = server.mydomain.ru
daemon_directory = /usr/lib/postfix
program_directory = /usr/lib/postfix
readme_directory = /usr/share/doc/packages/postfix/README_FILES
html_directory = /usr/share/doc/packages/postfix/html
sample_directory = /usr/share/doc/packages/postfix/samples
sendmail_path = /usr/sbin/sendmail
setgid_group = maildrop
manpage_directory = /usr/share/man
newaliases_path = /usr/bin/newaliases
mailq_path = /usr/bin/mailq
inet_protocols = all
inet_interfaces = all
masquerade_domains =
mydestination = mydomain.ru
defer_transports =
mynetworks_style = subnet
disable_dns_lookups = no
relayhost =
mailbox_command =
# mailbox_transport = cyrus -- same result !!!
mailbox_transport = lmtp:unix:/var/lib/imap/socket/lmtp
strict_8bitmime = yes
disable_mime_output_conversion = no
smtpd_sender_restrictions = hash:/etc/postfix/access,
reject_unknown_sender_domain
smtpd_client_restrictions = permit_sasl_authenticated,
smtpd_helo_required = yes
smtpd_helo_restrictions =
strict_rfc821_envelopes = no
smtpd_recipient_restrictions = permit_tls_clientcerts,
permit_sasl_authenticated, permit_mynetworks, reject_unauth_destination
smtp_sasl_auth_enable = no
smtpd_sasl_auth_enable = yes
smtpd_use_tls = yes
smtpd_tls_CAfile = /etc/postfix/ssl/cacert.pem
smtpd_tls_cert_file = /etc/postfix/ssl/certs/postfixcert.pem
smtpd_tls_key_file = /etc/postfix/ssl/certs/postfixkey.pem
smtpd_tls_received_header = yes
tls_daemon_random_source = dev:/dev/urandom
tls_random_source = dev:/dev/urandom
relay_clientcerts = hash:/etc/postfix/relay_ccerts
smtpd_tls_ask_ccert = yes
smtp_use_tls = no
alias_maps = hash:/etc/aliases
mailbox_size_limit = 0
message_size_limit = 102400000
unknown_local_recipient_reject_code = 450
==========================================
/etc/postfix/mysql-local.cf (see above local_transport)
-------------------------------------------------------------------
user = mail
password = gtxrby
dbname = lanbilling
table = vgroups
select_field = login
where_field = login
query = SELECT login FROM vgroups WHERE login='%u'
#additional_conditions = and blocked = 0
hosts = 127.0.0.1