评论

收藏

[MySQL] extmail

数据库 数据库 发布于:2021-07-04 10:17 | 阅读数:486 | 评论:0

  -------------------------------------------
  一、前言
  二、环境
  三、流程分析
  四、具体配置
  1.安装apache和mysql
  2.卸载postfix RPM包
  3.安装postfix源码包
  4.安装courier-authlib
  5.创建mailbox
  6.导入数据库
  7.安装dovecot
  8.配置extmail
  9.配置extman
  五、测试
  六、后台mysql数据库用户信息
  七、出现的错误及解决方法
  -------------------------------------------
  

  一、前言
           Extmail 是一个以perl语言编写,面向大容量/ISP级应用,免费的高性能Webmail软件,主要包括ExtMail、Extman两个部分的程序套件。ExtMail套件用于提供从浏览器中登录、使用邮件系统的Web操作界面,而Extman套件用于提供从浏览器中管理邮件系统的Web操作界面。它以GPL版权释出,设计初衷是希望设计一个适应当前高速发展的IT应用环境,满足用户多变的需求,能快速进行开发、改进和升级,适应能力强的webmail系统。
  二、环境
  1.系统环境
  CentOS6.4 32位
  2.6.32-358.el6.i686
  2.环境配置
  Development tool
  Additional Development
  Server Platform Development
  3.更改主机名
# hostname mail.a.com
# vim /etc/sysconfig/network
  NETWORKING=yes
  HOSTNAME=mail.a.com
# hostname
  mail.a.com
  4.所需源码包
  courier-authlib-0.63.0.tar.bz2
  extmail-1.2.tar.gz
  extman-1.1.tar.gz
  postfix-2.8.2.tar.gz
  Unix-Syslog-0.100.tar.gz
  三、流程分析
DSC0000.jpg

  四、具体配置
  1.安装apache和mysql
# yum install httpd  mysql  mysql-server  mysql-devel
    openssl-devel   dovecot   perl-DBD-MySQL
    tcl   tcl-devel  libart_lgpl
    libart_lgpl-devel libtool-ltdl libtool-ltdl-devel  expect
# service mysqld start
# mysqladmin -u root -p password '123'
  2.卸载postfix RPM包,创建postfix和postdrop用户
# cp /etc/init.d/postfix /etc/init.d/postfix.bak
# yum remove postfix
# id postfix
uid=89(postfix) gid=89(postfix) groups=89(postfix),12(mail)
# groupdel postfix
groupdel: cannot remove the primary group of user 'postfix'
# userdel -r postfix
userdel: /var/spool/postfix not owned by postfix, not removing
# groupdel postfix
groupdel: group 'postfix' does not exist
# userdel -r postfix
userdel: user 'postfix' does not exist
# groupadd -g 2525 -r postfix
# useradd -g postfix -u 2525 -s /sbin/nologin -M postfix
# groupdel postdrop
# userdel -r postdrop
userdel: user 'postdrop' does not exist
# groupadd -g 2526 -r postdrop
# useradd -g postdrop -u 2526 -s /sbin/nologin -M postdrop
# id postfix
uid=2525(postfix) gid=2525(postfix) groups=2525(postfix)
# id postdrop
uid=2526(postdrop) gid=2526(postdrop) groups=2526(postdrop)
  3.安装postfix
# tar -zxvf postfix-2.8.2.tar.gz -C /usr/local/src/
# cd /usr/local/src/postfix-2.8.2/
# make makefiles
 'CCARGS=-DHAS_MYSQL -I/usr/include/mysql -DUSE_SASL_AUTH -DUSE_CYRUS_SASL -I/usr/include/sasl -DUSE_TLS'
 'AUXLIBS=-L/usr/lib/mysql -lmysqlclient -lz -lm -L/usr/lib/sasl2 -lsasl2   -lssl -lcrypto'
# make
# make install
  []号中的是缺省值,”]”后的是输入值,省略的表示采用默认值。
install_root: [/]
tempdir: [/usr/local/src/postfix-2.8.2] /tmp
config_directory: [/etc/postfix]
command_directory: [/usr/sbin]
daemon_directory: [/usr/libexec/postfix]
data_directory: [/var/lib/postfix]
html_directory: [no]
mail_owner: [postfix]
mailq_path: [/usr/bin/mailq]
manpage_directory: [/usr/local/man]
newaliases_path: [/usr/bin/newaliases]
queue_directory: [/var/spool/postfix]
readme_directory: [no]
sendmail_path: [/usr/sbin/sendmail]
setgid_group: [postdrop]
  
# newaliases  生成别名二进制文件,这个步骤如果忽略,会造成postfix效率极低
# cd /etc/init.d/
# mv postfix.bak postfix
# chown -R postfix /var/lib/postfix/
# chown -R postfix /var/spool/postfix/private/
# chown -R postfix /var/spool/postfix/public/
# service  postfix restart
[root@localhost init.d]# netstat -tupln |grep 25
tcp  0  0 0.0.0.0:25  0.0.0.0:*   LISTEN   11488/master
# chkconfig --add postfix
# chkconfig  postfix  on
  3-1.配置postfix
# vim /etc/postfix/main.cf
75 myhostname = mail.a.com
83 mydomain = a.com
99 myorigin = $mydomain
161 mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
260 mynetworks = 127.0.0.0/8
# service  postfix restart
# cd /usr/local/lib
# mkdir sasl2
# cd sasl2/
# vim smtpd.conf
1 pwcheck_method: saslauthd
2 mech_list: PLAIN LOGIN
# service postfix restart
# service saslauthd restart
# chkconfig saslauthd on
# vim /etc/postfix/main.cf
652 broken_sasl_auth_clients = yes         
653 smtpd_recipient_restrictions=permit_mynetworks,permit_sasl_authenticated,reject_invalid_hostname,reject_non_fqdn_host  name,reject_unknown_sender_domain,reject_non_fqdn_sender,reject_non_fqdn_recipient,reject_unknown_recipient_domain,re   ject_unauth_pipelining,reject_unauth_destination
654 smtpd_sasl_auth_enable = yes
655 smtpd_sasl_local_domain = $myhostname
656 smtpd_sasl_security_options = noanonymous
657 smtpd_banner = Welcome to our $myhostname ESMTP,Warning: Version not Available!
# service postfix restart
# telnet 127.0.0.1 25
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
220 Welcome to our mail.a.com ESMTP,Warning: Version not Available!
EHLO 127.0.0.1
250-mail.a.com
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-AUTH PLAIN LOGIN CRAM-MD5 DIGEST-MD5
250-AUTH=PLAIN LOGIN CRAM-MD5 DIGEST-MD5
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
quit
221 2.0.0 Bye
Connection closed by foreign host.
  4.安装courier-authlib
# tar -jxvf courier-authlib-0.63.0.tar.bz2 -C /usr/local/src/
# cd /usr/local/src/courier-authlib-0.63.0/
# ./configure
   --prefix=/usr/local/courier-authlib
   --sysconfdir=/etc
   --with-authmysql
   --with-mysql-libs=/usr/lib/mysql
   --with-mysql-includes=/usr/include/mysql
   --with-redhat
   --with-authmysqlrc=/etc/authmysqlrc
   --with-authdaemonrc=/etc/authdaemonrc
# make && make install
# cd /usr/local/courier-authlib/
# vim /etc/ld.so.conf.d/courier-authlib.conf
/usr/local/courier-authlib/lib/courier-authlib
# ldconfig
# ln -s /usr/local/courier-authlib/include/ /usr/include/courier-authlib
# cd /usr/local/src/courier-authlib-0.63.0/
# cp courier-authlib.sysvinit /etc/init.d/courier-authlib
# chmod a+x /etc/init.d/courier-authlib
# cd /usr/local/courier-authlib/var/spool/
# chmod 755 authdaemon/
# cp /etc/authmysqlrc.dist /etc/authmysqlrc
# cp /etc/authdaemonrc.dist /etc/authdaemonrc
# vim /etc/authdaemonrc
27 authmodulelist="authmysql"
34 authmodulelistorig="authmysql"
# vim /etc/authmysqlrc
26 MYSQL_SERVER      localhost
27 MYSQL_USERNAME      extmail
28 MYSQL_PASSWORD      extmail
49 MYSQL_SOCKET      /var/lib/mysql/mysql.sock     /tmp/mysql.sock(源码)
56 MYSQL_PORT        3306
68 MYSQL_DATABASE      extmail
83 MYSQL_USER_TABLE    mailbox
92 MYSQL_CRYPT_PWFIELD   password
105 DEFAULT_DOMAIN      a.com
113 MYSQL_UID_FIELD     2525
119 MYSQL_GID_FIELD     2525
128 MYSQL_LOGIN_FIELD     username
133 MYSQL_HOME_FIELD    concat('/var/mailbox/',homedir)
139 MYSQL_NAME_FIELD    name
150 MYSQL_MAILDIR_FIELD   concat('/var/mailbox/',maildir)
# service courier-authlib start
Starting Courier authentication services: authdaemond
# chkconfig --add courier-authlib
# chkconfig courier-authlib on
  5.创建mailbox
# mkdir /var/mailbox
# chown -R postfix /var/mailbox/
# vim /usr/local/lib/sasl2/smtpd.conf  (覆盖原来两行)
  1 pwcheck_method: authdaemond
  2 log_level: 3
  3 mech_list:PLAIN LOGIN
  4 authdaemond_path:/usr/local/courier-authlib/var/spool/authdaemon/socket
# service saslauthd restart
# service courier-authlib restart
# vim /etc/postfix/main.cf
658 ########################Virtual Mailbox Settings########################
659 virtual_mailbox_base = /var/mailbox
660 virtual_mailbox_maps = mysql:/etc/postfix/mysql_virtual_mailbox_maps.cf
661 virtual_mailbox_domains = mysql:/etc/postfix/mysql_virtual_domains_maps.cf
662 virtual_alias_domains =
663 virtual_alias_maps = mysql:/etc/postfix/mysql_virtual_alias_maps.cf
664 virtual_uid_maps = static:2525
665 virtual_gid_maps = static:2525
666 virtual_transport = virtual
667 maildrop_destination_recipient_limit = 1
668 maildrop_destination_concurrency_limit = 1
669 ##########################QUOTA Settings########################
670 message_size_limit = 14336000
671 virtual_mailbox_limit = 20971520
672 virtual_create_maildirsize = yes
673 virtual_mailbox_extended = yes
674 virtual_mailbox_limit_maps = mysql:/etc/postfix/mysql_virtual_mailbox_limit_maps.cf
675 virtual_mailbox_limit_override = yes
676 virtual_maildir_limit_message = Sorry, the user's maildir has overdrawn his diskspace quota, please Tidy your mailbox and try again later.
677 virtual_overquota_bounce = yes
  6.导入数据库
# tar -zxvf extman-1.1.tar.gz
# cd extman-1.1/docs/
# mysql -u root -p <extmail.sql
Enter password:
# mysql -u root -p <init.sql
Enter password:
[root@mail ~]# mysql -u root -p
mysql> use mysql;
mysql> select user,host from user;
+---------+-----------------------+
| user  | host          |
+---------+-----------------------+
| root  | 127.0.0.1       |
|     | localhost       |
| extmail | localhost       |
| root  | localhost       |
| webman  | localhost       |
|     | localhost.localdomain |
| root  | localhost.localdomain |
+---------+-----------------------+
mysql> show databases;
mysql> use extmail;
mysql> show tables;
+-------------------+
| Tables_in_extmail |
+-------------------+
| alias       |
| domain      |
| domain_manager  |
| mailbox       |
| manager       |
+-------------------+
mysql> select * from mailbox\G
*************************** 1. row ***************************
    username: postmaster@extmail.org
       uid: postmaster
    password: $1$phz1mRrj$3ok6BjeaoJYWDBsEPZb5C0
    clearpwd:
      name: PostMaster
    mailhost:
     maildir: extmail.org/postmaster/Maildir/
     homedir: extmail.org/postmaster
       quota: 104857600S
  netdiskquota: 52428800S
      domain: extmail.org
     uidnumber: 1000
     gidnumber: 1000
    createdate: 2007-02-14 15:10:04
    expiredate: 2010-11-08
      active: 1
disablepwdchange: 0
  disablesmtpd: 0
   disablesmtp: 0
  disablewebmail: 0
  disablenetdisk: 0
   disableimap: 0
   disablepop3: 0
    question: my question
      answer: my answer
mysql> GRANT all privileges on extmail.* TO extmail@localhost IDENTIFIED BY 'extmail';
mysql> GRANT all privileges on extmail.* TO extmail@127.0.0.1 IDENTIFIED BY 'extmail';
mysql> flush privileges;
  7.安装dovecot
# cd extman-1.1/docs/
# cp mysql_virtual_* /etc/postfix/
# service postfix restart
# yum install dovecot
# cd /etc/dovecot/conf.d/
# vim 10-mail.conf
 24 mail_location = maildir:/var/mailbox/%d/%n/Maildir
# vim auth-sql.conf.ext
 9   args = /etc/dovecot/dovecot-sql.conf
 21   args = /etc/dovecot/dovecot-sql.conf
# vim /etc/dovecot/dovecot-sql.conf
  1 driver = mysql
  2 connect = host=localhost dbname=extmail user=extmail password=extmail
  3 default_pass_scheme = CRYPT
  4 password_query = SELECT username AS user,password AS password FROM mailbox WHERE username = '%u'         
  5 user_query = SELECT maildir, uidnumber AS uid, gidnumber AS gid FROM mailbox WHERE username = '%u'
# service dovecot start
# chkconfig dovecot on
  8.安装并配置extmail
# tar -zxvf extmail-1.2.tar.gz
# mkdir /var/www/extsuite
# mv extman-1.1 extmail-1.2 /var/www/extsuite/
# cd /var/www/extsuite/
# mv extmail-1.2/ extmail
# mv extman-1.1/ extman
# cd extmail/
# cp webmail.cf.default webmail.cf
# vim webmail.cf
 77 SYS_USER_LANG = zh_CN
127 SYS_MAILDIR_BASE = /var/mailbox
139 SYS_MYSQL_USER = extmail
140 SYS_MYSQL_PASS = extmail
197 SYS_AUTHLIB_SOCKET = /usr/local/courier-authlib/var/spool/authdaemon/socket
# chown -R postfix.postfix /var/www/extsuite/extmail/cgi/
  9.配置extman
# cd /var/www/extsuite/extman/
# cp webman.cf.default webman.cf
# vim webman.cf
 12 SYS_MAILDIR_BASE = /var/mailbox
 21 SYS_CAPTCHA_ON = 0 (关闭验证码)
 39 SYS_LANG = zh_CN
# vim /etc/postfix/main.cf
415 home_mailbox = Maildir/
# service postfix restart
# chown -R postfix.postfix /var/www/extsuite/extman/cgi/
# vim /etc/httpd/conf/httpd.conf
 242 User postfix
 243 Group postfix
1010 <VirtualHost *:80>
1011 ServerName mail.test.com
1012 DocumentRoot /var/www/extsuite/extmail/html/1013 ScriptAlias /extmail/cgi /var/www/extsuite/extmail/cgi
1014 Alias /extmail /var/www/extsuite/extmail/html
1015 ScriptAlias /extman/cgi /var/www/extsuite/extman/cgi
1016 Alias /extman /var/www/extsuite/extman/html
1017 </VirtualHost>
# service httpd restart
  五、测试
  1.浏览器访问http://服务器IP/extmail
DSC0001.jpg

  2.登陆邮箱管理,创建域。
DSC0002.jpg

  3.默认管理帐号为:root@extmail.org  密码为:extmail*123*
DSC0003.jpg

  4.创建虚拟域 a.com
DSC0004.jpg

  5.创建虚拟域 b.com
DSC0005.jpg

  6.创建用户user10,隶属于虚拟域a.com
DSC0006.jpg

DSC0007.jpg

  7.创建用户user11,隶属于虚拟域b.com
DSC0008.jpg

  8.user10登陆邮箱
DSC0009.jpg

  9.user10向user11发送一封测试邮件
DSC00010.jpg

  10.user10在写邮件
DSC00011.jpg

  11.user11登陆邮箱
DSC00012.jpg

  12.user11查看信件,来自于user10
DSC00013.jpg

  六、后台mysql数据库用户信息
  
mysql> select * from mailbox\G
*************************** 2. row ***************************
    username: user10@a.com
       uid: user10
    password: $1$kOABRATa$an67c39Vj1oIq56u2It7i.
    clearpwd:
      name: user10
    mailhost:
     maildir: a.com/user10/Maildir/
     homedir: a.com/user10
       quota: 5242880S
  netdiskquota: 5242880S
      domain: a.com
     uidnumber: 1000
     gidnumber: 1000
    createdate: 2014-03-06 07:31:16
    expiredate: 0000-00-00
      active: 1
disablepwdchange: 0
  disablesmtpd: 0
   disablesmtp: 0
  disablewebmail: 0
  disablenetdisk: 0
   disableimap: 1
   disablepop3: 0
    question:
      answer:
*************************** 3. row ***************************
    username: user11@b.com
       uid: user11
    password: $1$IHtvRkzH$39KySDanfpkgX7ALLs5EH.
    clearpwd:
      name: user11
    mailhost:
     maildir: b.com/user11/Maildir/
     homedir: b.com/user11
       quota: 5242880S
  netdiskquota: 5242880S
      domain: b.com
     uidnumber: 1000
     gidnumber: 1000
    createdate: 2014-03-06 07:43:58
    expiredate: 0000-00-00
      active: 1
disablepwdchange: 0
  disablesmtpd: 0
   disablesmtp: 0
  disablewebmail: 0
  disablenetdisk: 0
   disableimap: 1
   disablepop3: 0
    question:
      answer:
  七、出现的错误及解决方法 DSC00014.jpg
  错误1:
  Can't locate CGI.pm in @INC (@INC contains: /var/www/extsuite/extmail/libs /usr/local/lib/perl5 /usr/local/share/perl5 /usr/lib/perl5/vendor_perl
  /usr/share/perl5/vendor_perl /usr/lib/perl5 /usr/share/perl5) at /var/www/extsuite/extmail/libs/Ext/CGI.pm line 20. BEGIN failed--compilation aborted at
  /var/www/extsuite/extmail/libs/Ext/CGI.pm line 20. Compilation failed in require at /var/www/extsuite/extmail/libs/Ext/App.pm line 23. BEGIN failed--compilation
  aborted at /var/www/extsuite/extmail/libs/Ext/App.pm line 23. Compilation failed in require at /var/www/extsuite/extmail/libs/Ext/App/Login.pm line 16. BEGIN failed--
  compilation aborted at /var/www/extsuite/extmail/libs/Ext/App/Login.pm line 16. Compilation failed in require at /var/www/extsuite/extmail/cgi/index.cgi line 20.
  解决办法:安装perl-CGI和perl-CGI-Session
  # yum install perl-CGI perl-CGI-Session
  错误2:
  Unix::Syslog not found, please install it first! (in cleanup) Undefined subroutine &Ext::Logger::do_closelog called at /var/www/extsuite/extmail/libs/Ext/Logger.pm
  line 86.
  解决办法:安装Unix-Syslog补丁
  # tar -zxvf Unix-Syslog-0.100.tar.gz -C /usr/local/src/
  # cd /usr/local/src/Unix-Syslog-0.100/
  # perl Makefile.PL
  # make && make install
  错误3
  Can't open /tmp/extman//sid_7c6f62cdb13d7028d93c0b267aa2b02c, No such file or directory
  解决办法:
  # mkdir /tmp/extman
  # chown postfix.postfix /tmp/extman
  错误4:无法发送邮件(针对mysql源码安装不一定成功)
  解决办法:# vim /etc/postfix/main.cf  关闭161行
  161 #mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
  错误5
  #!/usr/bin/perl -wT # vim: set cindent expandtab ts=4 sw=4: use vars qw($DIR); BEGIN { if ($ENV{SCRIPT_FILENAME} =~ m!(.*/)cgi!) { $DIR = $1; }else { $DIR = '../'; }
  my $path = $DIR . 'libs'; unshift @INC, $path unless grep /^$path$/, @INC; #print "content-type: text/html\r\n\r\n"; #$SIG{__WARN__} = $SIG{__DIE__} = sub { print @_
  }; } use strict; eval { require Ext::App::Login; my $app = Ext::App::Login->new( config => $DIR.'webmail.cf', directory => $DIR ); $app->run; }; if ($@) { print
  "Content-type: text/html\r\n\r\n"; print "$@"; }
  解决办法:加载cgid模块
  # vim /etc/httpd/conf/httpd.conf
  LoadModule cgid_module modules/mod_cgid.so
  错误6 (针对mysql源码安装)
  Can't locate /var/www/extsuite/extman/lang/en_US in @INC (@INC contains: /usr/local/apache/htdocs/extsuite/extman/libs /usr/local/lib/perl5 /usr/local/share/perl5
  /usr/lib/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib/perl5 /usr/share/perl5 .) at /usr/local/apache/htdocs/extsuite/extman/libs/Ext/Lang.pm line 65.
  解决办法:更改/usr/local/apache/htdocs/extsuite/extmail/webmail.cf以及extman/webmail.cf配置中的路径
  错误7
  install_driver(mysql) failed: Can't locate DBD/mysql.pm in @INC (@INC contains: /usr/local/apache/htdocs/extsuite/extman/libs /usr/local/lib/perl5
  /usr/local/share/perl5 /usr/lib/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib/perl5 /usr/share/perl5 .) at (eval 14) line 3. Perhaps the DBD::mysql perl
  module hasn't been fully installed, or perhaps the capitalisation of 'mysql' isn't right. Available drivers: DBM, ExampleP, File, Gofer, Pg, Proxy, Sponge. at
  /usr/local/apache/htdocs/extsuite/extman/libs/Ext/Mgr/MySQL.pm line 45
  解决办法:# yum install perl-DBD-MySQL
  

  错误8 (添加域失败)
  DBD::mysql::st execute failed: Incorrect integer value: '' for column 'can_signup' at row 1 at /usr/local/apache/htdocs/extsuite/extman/libs/Ext/Mgr/MySQL.pm line 397
  解决办法:将198行can_sign改成can_signup
  # vim /usr/local/apache/htdocs/extsuite/extman/libs/Ext/MgrApp/Domain.pm
  198 can_signup => $q->cgi('cansignup') ? 1 : 0,
  错误9 (无法发送邮件,部分日志信息)
  # tail -f /var/log/maillog
  Mar  7 19:54:28 mail postfix/trivial-rewrite[4550]: warning: connect to mysql server localhost: Can't connect to local MySQL server through socket
  '/var/lib/mysql/mysql.sock' (2)
  Mar  7 19:54:28 mail postfix/trivial-rewrite[4550]: fatal: mysql:/etc/postfix/mysql_virtual_domains_maps.cf(0,lock|fold_fix): table lookup problem
  Mar  7 19:54:29 mail postfix/smtpd[4541]: warning: problem talking to service rewrite: Success
  Mar  7 19:54:29 mail postfix/master[4531]: warning: process /usr/libexec/postfix/trivial-rewrite pid 4550 exit status 1
  Mar  7 19:54:29 mail postfix/master[4531]: warning: /usr/libexec/postfix/trivial-rewrite: bad command startup -- throttling
  Mar  7 19:54:30 mail postfix/postfix-script[4566]: stopping the Postfix mail system
  Mar  7 19:54:30 mail postfix/master[4531]: terminating on signal 15
  Mar  7 19:54:30 mail postfix/postfix-script[4633]: warning: not owned by group postdrop: /var/spool/postfix/public
  Mar  7 19:54:31 mail postfix/postfix-script[4640]: starting the Postfix mail system
  Mar  7 19:54:31 mail postfix/master[4641]: daemon started -- version 2.8.2, configuration /etc/postfix
  Mar  7 19:57:33 mail postfix/smtpd[4663]: warning: dict_nis_init: NIS domain name not set - NIS lookups disabled
  Mar  7 19:57:33 mail postfix/smtpd[4663]: connect from localhost[127.0.0.1]
  解决办法:创建链接
  # mkdir /var/lib/mysql/
  # ln -s /tmp/mysql.sock /var/lib/mysql/mysql.sock
  # vim /etc/postfix/main.cf
  #mydestination = $myhostname, localhost.$mydomain, localhost
  #mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
  #mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain,
  错误10
  warning: SASL authentication problem: unable to open Berkeley db /etc/sasldb2: No such file or
  directory
  解决办法
  # cp /usr/local/sasl2/lib/sasl2/smtpd.conf /etc/sasl2/
  # mkdir /etc/sasldb2/
  # cp /usr/local/sasl2/lib/sasl2/smtpd.conf /etc/sasldb2/
  


  
关注下面的标签,发现更多相似文章