1、Postfix和
- Oct 17 16:07:52 mail authdaemond: modules="authmysql", daemons=5
- Oct 17 16:07:52 mail authdaemond: Installing libauthmysql
- Oct 17 16:07:52 mail authdaemond: file not found
但是security/cyrus-sasl2不要编译mysql支持,否则会一直提示:
- Oct 19 18:21:42 mail postfix/smtpd[6198]: sql_select option missing
- Oct 19 18:21:42 mail postfix/smtpd[6198]: auxpropfunc error no mechanism available
2、extMail的数据表,在doc目录中有描述。
extman中的数据表,都是直接硬编码在/usr/local/www/extman/libs/Ext/Mgr/MySQL.pm中,例如:普通用户的表是mailbox。
(iceBoold做的一键安装包,把数据表设置为users等,导致找不到数据)
3、导入表的时候,要注意回车。我因为在导入manager表时,不小心在type字段的admin前加了一个回车,结果总是进入extman的时候,提示找不到域名,点用户的时候,提示找没有权限。
查了很多东西,最后不经意在/tmp/extman中的缓存中,发现type=和'admin'是两行,合并后,正常。
postfix需要的virtul表,也在docs目录下。
4、最麻烦的是sasl2的配置,稍不注意就出问题:完整的配置:
- pwcheck_method:authdaemond
- # ##### 下面一句,网上的资料很多都写为,多了前面的一个单词: AUTHDAEMON log_level:3
- log_level:3
- mech_list:PLAIN LOGIN
- authdaemond_path:/var/run/authdaemond/socket
- # ##### 以下内容是防止在massages中,出现下列错误提示,但是这样会导致smtp验证失败,最有效的方法是
- # 在编译sasl2的时候,去掉mysql的选项。
- # # Oct 18 22:14:02 mail postfix/smtpd[61105]: sql_select option missing
# # Oct 18 22:14:02 mail postfix/smtpd[61105]: auxpropfunc error no mechanism available
- allow_plaintext: true
- auxprop_plugin: mysql
- sql_hostnames: localhost
- sql_user: root
- sql_passwd: 123456789
- sql_database: extmail
- sql_select: select password from mailbox where username='%u'
5、各权限设置:
postfix :因为是virtual user,权限设置在数据表里,可以通过webman的管理来调整用户的组和名。
注意要和系统的用户名匹配。
如果Extmail没有使用数据表中的用户,则用main.cf中的gid和uid设置。
apache : httpd.conf中,user/group
extmail/extman : (未知)
6、
经典的错误提示:- Insecure dependency in sprintf while running with -T switch at /usr/local/lib/perl5/site_perl/5.14.2/mach/Unix/Syslog.pm line 59.
以及:
- Insecure dependency in sprintf while running with -T switch at /usr/local/www/extmail/libs/Ext/Logger/File.pm line 45
45行如下:
- #printf $fh "$time $host extmail[$$]: $msg\n", @_;
网上的资料:
- 要注释掉/usr/local/www/extmail/libs/Ext/Logger/File.pm的45行,否则在登录的跳转中,会出现-T的语法错误
实际的问题是:
,5楼的帖子:
- 那个错误的意思是你执行 test.pl 的方式有问题,你可以给 test.pl 加可执行属性后,通过 ./test.pl 这种方式执行;也可以通过 perl test.pl 这种方式执行。但是在又后一种方式的时候,由于你在 test.pl 的 #! 行用了 -T,perl 要求你在它的命令行上也加 -T,也即你要用 perl -T test.pl 这种方式。
所以在/usr/local/www/extmail/cgi/index.cgi中把第一行的T参数去掉就可以了:
7、outlook的pop3d登录时,用户名和密码错误:
(1)检查mysql的log,如果有查询进入,刚检查语句是不是正确。
(2)检查sasl2的验证。
(2)检查/var/log/maillog,里面的具体的说明。
(3)特别检查:authmysqlrc,它会丢失前面的路径。
- mail# vi /usr/local/etc/authlib/authmysqlrc
-
MYSQL_SERVER localhost
-
MYSQL_USERNAME postfix
-
MYSQL_PASSWORD postfix
-
MYSQL_PORT 0
-
MYSQL_OPT 0
-
MYSQL_DATABASE postfix
-
MYSQL_USER_TABLE mailbox
-
MYSQL_CRYPT_PWFIELD password
-
DEFAULT_DOMAIN sdcangyuan.com
-
MYSQL_UID_FIELD uidnumber
-
MYSQL_GID_FIELD gidnumber
-
MYSQL_LOGIN_FIELD username
-
MYSQL_HOME_FIELD concat('/home/mailbox/',homedir,'/')
-
MYSQL_NAME_FIELD username
-
MYSQL_MAILDIR_FIELD concat('/home/mailbox/',maildir)
8、遇到telnet 127.0.0.1 25 测试时,不出现220等信息,输入ehlo也无反应,在messages中提示:
www postfix/smtpd[92447]: fatal: open database /etc/aliases.db: No such file or directory
# /usr/local/sbin/postalias /etc/aliases
# chown postfix:postfix /etc/opiekeys
9、遇到下面的错误提示,并且测试telnet 25 显示“普通失败”:
www postfix/smtpd[92675]: warning: SASL authentication failure: cannot connect to Courier auth
daemond: Permission denied
要给/var/run/authdaemond/socket加上777权限(不一定是777,755也可)
10、用outlook,经常需要再输入一次密码才能正常收信,偶尔不需要输入。在mail.log中,有提示认证出错。
解决:/usr/local/lib/sasl2/smtpd.conf中,要添加带md5的选项,在extmail/extman中,可以直接指定是md5方式加密密码:
mech_list: PLAIN LOGIN CRAM-MD5 CRAM-SHA1 CRAM-SHA256
11、Outlook提示:“未检索到编号为 1 的邮件”错误:
邮件文件的权限不对,可能是数据表是的uidnumber或gidnumber出错。
12、postfix报IP V6错误:
- Oct 19 18:17:35 mail postfix/pickup[97691]: warning: inet_protocols: disabling IPv6 name/address support: Protocol not supported
在master.cf中加上一句即可,默认是all:
----
阅读(7483) | 评论(1) | 转发(0) |