qsed-abuse01@hzqbbc.com
 22 12
发新话题
打印

postifx+maildrop+mysql出问题

postifx+maildrop+mysql出问题

以下是我的mail.log文件
系统是Linux www 2.6.8-3-686 #1 Thu Feb 9 07:39:48 UTC 2006 i686 GNU/Linux
为什么会报用户未找到的错误呢?

出错的配置可能是哪些文件,请大家帮我看看。我是按这篇文件配置的。
http://genco.gen.tc/postfix_virtual.php
引用:
May 17 00:23:09 www postfix/postfix-script: starting the Postfix mail system
May 17 00:23:09 www postfix/master[16221]: daemon started -- version 2.1.5
May 17 00:23:26 www postfix/smtpd[16225]: connect from unknown[125.213.65.22]
May 17 00:24:01 www postfix/smtpd[16225]: 4DFDC4AB2E: client=unknown[125.213.65.22]
May 17 00:24:11 www postfix/cleanup[16236]: 4DFDC4AB2E: message-id=<20060516162353.4DFDC4AB2E@mail.mydomain.com>
May 17 00:24:11 www postfix/qmgr[16223]: 4DFDC4AB2E: from=<test@mydomain.com>, size=349, nrcpt=1 (queue active)
May 17 00:24:11 www postfix/pipe[16238]: 4DFDC4AB2E: to=<test@mydomain.com>, relay=maildrop, delay=18, status=bounced (user unknown. Command output: Invalid us
er specified. )
May 17 00:24:11 www postfix/cleanup[16236]: 640D24AB36: message-id=<20060516162411.640D24AB36@mail.mydomain.com>
May 17 00:24:11 www postfix/qmgr[16223]: 640D24AB36: from=<>, size=2026, nrcpt=1 (queue active)
May 17 00:24:11 www postfix/qmgr[16223]: 4DFDC4AB2E: removed
May 17 00:24:11 www postfix/pipe[16238]: 640D24AB36: to=<test@mydomain.com>, relay=maildrop, delay=0, status=bounced (user unknown. Command output: Invalid use
r specified. )
May 17 00:24:11 www postfix/qmgr[16223]: 640D24AB36: removed
May 17 00:24:13 www postfix/smtpd[16225]: disconnect from unknown[125.213.65.22]

TOP

引用:
下面是引用tinny于2006-05-17 00:20发表的postifx+maildrop+mysql出问题:
以下是我的mail.log文件
系统是Linux www 2.6.8-3-686 #1 Thu Feb 9 07:39:48 UTC 2006 i686 GNU/Linux
为什么会报用户未找到的错误呢?

出错的配置可能是哪些文件,请大家帮我看看。我是按这篇文件配置的。
.......
引用:
to=<test@mydomain.com>, relay=maildrop, delay=18, status=bounced (user unknown. Command output: Invalid user specified. )
如果maildrop是2.0.x,打开了authlib的话,则可以打开authlib的DEBUG_LOGIN,看看发送时

的调试信息。同时master.cf里配置maildrop时,增加-V 10 的参数,以获得verbose的输出。
欢迎使用下列开源软件: 高性能邮件系统- ExtMail Spam Locker反垃圾邮件系统

TOP

我的系统是debian,courier有一个authlib包,但我apt-get的时候没有这个包。
maildrop -v的输出为:
引用:
maildrop 1.7.0 Copyright 1998-2003 Double Precision, Inc.
GDBM extensions enabled.
Maildir quota extension enabled.
Virtual user database extension enabled.
This program is distributed under the terms of the GNU General Public
License. See COPYING for additional information.
我安装的包为
引用:
www:/etc/courier# dpkg -l courier*
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Installed/Config-files/Unpacked/Failed-config/Half-installed
|/ Err?=(none)/Hold/Reinst-required/X=both-problems (Status,Err: uppercase=bad)
||/ Name                      Version                   Description
+++-=========================-=========================-==================================================================
ii  courier-authdaemon       0.47-4sarge4             Courier Mail Server - Authentication daemon
ii  courier-authmysql         0.47-4sarge4             Courier Mail Server - MySQL authentication
ii  courier-base             0.47-4sarge4             Courier Mail Server - Base system
un  courier-debug             <none>                   (no description available)
un  courier-doc               <none>                   (no description available)
ii  courier-imap             3.0.8-4sarge4             Courier Mail Server - IMAP server
un  courier-imap-authmysql    <none>                   (no description available)
ii  courier-imap-ssl          3.0.8-4sarge4             Courier Mail Server - IMAP over SSL
ii  courier-maildrop          0.47-4sarge4             Courier Mail Server - Mail delivery agent
un  courier-mta               <none>                   (no description available)
rc  courier-pop               0.47-4sarge4             Courier Mail Server - POP3 server
rc  courier-pop-ssl          0.47-4sarge4             Courier Mail Server - POP3 over SSL
ii  courier-ssl               0.47-4sarge4             Courier Mail Server - SSL/TLS Support



www:/etc/courier# dpkg -l postfix*
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Installed/Config-files/Unpacked/Failed-config/Half-installed
|/ Err?=(none)/Hold/Reinst-required/X=both-problems (Status,Err: uppercase=bad)
||/ Name                      Version                   Description
+++-=========================-=========================-==================================================================
ii  postfix                   2.1.5-9                   A high-performance mail transport agent
pn  postfix-doc               <none>                   (no description available)
un  postfix-ldap             <none>                   (no description available)
ii  postfix-mysql             2.1.5-9                   MYSQL map support for Postfix
ii  postfix-pcre             2.1.5-9                   PCRE map support for Postfix
un  postfix-pgsql             <none>                   (no description available)
un  postfix-snap             <none>                   (no description available)
un  postfix-snap-tls          <none>                   (no description available)
ii  postfix-tls               2.1.5-9                   TLS and SASL support for Postfix
现在我是照置顶里头的那个freebsd的配置方法来配置的。

TOP

又:
引用:
www:/etc/courier# echo "test" | maildrop -V 10 -d "test@mydomain.com"
Invalid user specified.
如果
引用:
echo "test" | maildrop -V -10 -d root
的话,会出一大串的输出。

TOP

引用:
下面是引用tinny于2006-05-18 12:40发表的:
我的系统是debian,courier有一个authlib包,但我apt-get的时候没有这个包。
maildrop -v的输出为:

现在我是照置顶里头的那个freebsd的配置方法来配置的。
看情况,楼主的maildrop是1.7的,这样子,认证是由maildrop自己来实现,mysql

配置文件/etc/maildropmysql.config ,如果是ldap,应该是/etc/maildropldap.config

请将这个配置文件贴出来。再看看怎么回事。
欢迎使用下列开源软件: 高性能邮件系统- ExtMail Spam Locker反垃圾邮件系统

TOP

updatedb后locate了一下,系统中暂无这两个文件。

TOP

现在我这么操作的,把main.cf中的邮件投递方式从maildrop改为virtual,这一改,mail.log中相应的status终于是sent了……
就算这样,还是有一个问题我还没有弄清楚:pop3方式访问的时候,密码是放在mysql表中的,各个程序是通过什么参数来知道这个密码是否经过某种算法的加密呢?

TOP

引用:
下面是引用tinny于2006-05-18 15:17发表的:
现在我这么操作的,把main.cf中的邮件投递方式从maildrop改为virtual,这一改,mail.log中相应的status终于是sent了……
就算这样,还是有一个问题我还没有弄清楚:pop3方式访问的时候,密码是放在mysql表中的,各个程序是通过什么参数来知道这个密码是否经过某种算法的加密呢?
这个要具体软件具体分析了,courier-authlib 的authldap模块会自动识别(根据userPassword

的密码前缀识别),authmysql模块则根据authmysqlrc配置内容来识别。如果是sasl的话,则要

根据smtpd.conf里配置的参数以及相关的配置决定。所以,还是要看具体软件才知道。
欢迎使用下列开源软件: 高性能邮件系统- ExtMail Spam Locker反垃圾邮件系统

TOP

这是我的authmysqlrc文件内容
引用:
MYSQL_SERVER   127.0.0.1
MYSQL_USERNAME  extmail
MYSQL_PASSWORD  extmail
MYSQL_PORT    0
MYSQL_OPT     0
MYSQL_DATABASE  extmail

MYSQL_SELECT_CLAUSE    SELECT username,password,"",uidnumber,gidnumber, CONCAT(&#39;/home/data/domains/&#39;,homedir),CONCAT(&#39;/home/data/domains/&#39;,maildir),quota,name FROM mailbox WHERE username = &#39;$(local_part)@$(domain)&#39;
我应该用的是authmysql(初学者,只好说“应该”,见笑)。

mail.log日志里有这样显示:
引用:
May 18 16:08:18 www authdaemond.mysql: received auth request, service=pop3, authtype=login
May 18 16:08:18 www authdaemond.mysql: authmysql: trying this module
May 18 16:08:18 www authdaemond.mysql: SQL query: SELECT username,password,"",uidnumber,gidnumber, CONCAT(&#39;/home/data/domains/&#39;,homedir), CONCAT(&#39;/home/data/domains/&#39;,maildir),  quota, name FROM mailbox   WHERE username = &#39;test@mydomain.com&#39;
May 18 16:08:18 www authdaemond.mysql: supplied password &#39;extmail&#39; does not match encrypted password&#39;{crypt}uywiuN.XggXXc&#39;
May 18 16:08:18 www authdaemond.mysql: authmysql: REJECT - try next module
May 18 16:08:18 www authdaemond.mysql: FAIL, all modules rejected
可见密码是经过加密的,数据库是从extman中导过来的,以后准备用extmail。但是您看上面的mail.log,好像验证出现了问题,所以我才问是从哪个参数去设置这个加密算法的。

TOP

引用:
下面是引用tinny于2006-05-18 15:59发表的:
这是我的authmysqlrc文件内容


可见密码是经过加密的,数据库是从extman中导过来的,以后准备用extmail。但是您看上面的mail.log,好像验证出现了问题,所以我才问是从哪个参数去设置这个加密算法的。
请更新至最新版的extman (0.15-20060519), 并重新修改一下用户的密码。明天或后天推出

一个小工具(passwd_old2new.pl),可以批量修改mysql里用户密码,自动去掉{CRYPT}**
欢迎使用下列开源软件: 高性能邮件系统- ExtMail Spam Locker反垃圾邮件系统

TOP

谢谢extmail的帮助,现在我的pop3和webmail都成功了!
现在smtp还有问题
引用:
May 19 13:37:46 www postfix/smtpd[8897]: connect from unknown[218.104.139.232]
May 19 13:37:49 www postfix/smtpd[8897]: warning: SASL authentication failure: Password verification failed
May 19 13:37:49 www postfix/smtpd[8897]: warning: unknown[218.104.139.232]: SASL PLAIN authentication failed
May 19 13:37:49 www postfix/smtpd[8897]: warning: unknown[218.104.139.232]: SASL LOGIN authentication failed
May 19 13:37:51 www postfix/smtpd[8897]: lost connection after AUTH from unknown[218.104.139.232]
May 19 13:37:51 www postfix/smtpd[8897]: disconnect from unknown[218.104.139.232]
我是不是应该修改smtpd.conf呢?
btw,我看有的文档中的文件史是smtpd.conf,有的是smtp.conf,哪个才是正确的呢。

TOP

引用:
下面是引用tinny于2006-05-19 13:54发表的:
谢谢extmail的帮助,现在我的pop3和webmail都成功了!
现在smtp还有问题

我是不是应该修改smtpd.conf呢?
btw,我看有的文档中的文件史是smtpd.conf,有的是smtp.conf,哪个才是正确的呢。
是smtpd.conf , 因为是smtpd 进程要进行sasl认证。另外,unknow password verif**

的错误,也许是你的sasl没有编译指定的密码认证方法。smtpd.conf内容是什么?帖一下?
欢迎使用下列开源软件: 高性能邮件系统- ExtMail Spam Locker反垃圾邮件系统

TOP

这是我的smtpd.conf文件的内容,如下:
引用:
www:/etc/courier# cat /etc/postfix/sasl/smtpd.conf
pwcheck_method: authdaemon
mech_list: plain login
log_level: 3
authdaemond_path: /var/run/courier/authdaemon/socket
另外,/etc/pam.d/smtp文件的内容如下:
引用:
www:/etc/courier# cat /etc/pam.d/smtp
#%PAM-1.0
auth required pam_nologin.so
auth required pam_mysql.so user=extmail passwd=extmail host=localhost db=extmail table=mailbox usercolumn=username passwdcolumn=password crypt=1
account sufficient /lib/security/pam_mysql.so
auth     required    pam_env.so
account     sufficient  pam_mysql.so user=extmail passwd=extmail host=localhost db=extmail table=mailbox usercolumn=username passwdcolumn=password crypt=1
account   required    pam_unix.so

TOP

引用:
下面是引用tinny于2006-05-19 21:50发表的:
这是我的smtpd.conf文件的内容,如下:
既然用authdaemon,就用不着pam认证方式了。不过估计您的sasl2没有将authdaemon支持

编译进去,要不然,不会提示unknow password verifi*** 的错误,请确认一下。
欢迎使用下列开源软件: 高性能邮件系统- ExtMail Spam Locker反垃圾邮件系统

TOP

 22 12
发新话题