如来神掌第一式第七招----postfix详解
###############################################################################
#
Name : Mahavairocana
#
Author : Mahavairocana
#
QQ : 10353512
#
WeChat : shenlan-qianlan
#
Blog : http://www.cnblogs.com/Mahavairocana/
#
Description : You are welcome to reprint, or hyperlinks to indicate the
#
source of the article, as well as author
information.
###############################################################################
一:服务简介
postfix是Wietse Venema在IBM的GPL协议之下开发的MTA(邮件传输代理)软件。postfix是Wietse Venema想要为使用最广泛的sendmail提供替代品的一个尝试。Postfix试图更快、更容易管理、更安全,同时还与sendmail保持足够的兼容性。
特点:
1. postfix是免费的:
postfix想要作用的范围是广大的Internet用户,试图影响大多数的Internet上的电子邮件系统,因此它是免费的。
2. 更快:
postfix在性能上大约比sendmail快三倍。一部运行postfix的台式PC每天可以收发上百万封邮件。
3. 兼容性好:
postfix是sendmail兼容的,从而使sendmail用户可以很方便地迁移到postfix。Postfix支持/var[/spool]/mail、/etc/aliases、 NIS、和 ~/.forward 文件。
4. 更健壮:
postfix被设计成在重负荷之下仍然可以正常工作。当系统运行超出了可用的内存或磁盘空间时,postfix会自动减少运行进程的数目。当处理的邮件数目增长时,postfix运行的进程不会跟着增加。
5. 更灵活:
postfix是由超过一打的小程序组成的,每个程序完成特定的功能。你可以通过配置文件设置每个程序的运行参数。
6. 安全性
postfix具有多层防御结构,可以有效地抵御恶意入侵者。如大多数的postfix程序可以运行在较低的权限之下,不可以通过网络访问安全性相关的本地投递程序等等。
二、概念解释
邮件系统角色
MTA(mail transfer agent.邮件传输代理):邮件服务器软件,负责接收客户端软件发送的邮件,并且将邮件传输给其他的mta程序。是电子邮件系统的核心部分、
MUA(mail useragent。邮件用户代理):邮件客户端软件,为用户提供发送接收和管理电子邮件的见面。
MDA(mail delivery agent 邮件分发代理 ):负责在服务器中将邮件分发到用户的邮箱目录。不直接面向用户,而是在后台默默的工作。有时候mda直接集成在mta软件中。所以经常被忽略。
邮件应用协议
SMTP,简单邮件传输协议,TCP 25端口:主要用于发送和传输邮件,mua使用smtp协议发送到mta服务器中,而mta将邮件传输给其他mta服务器也使用smyp协议
POP3,第3版邮局协议,TCP 110端口 主要用于从邮件服务器中收取邮件,目前最新版是pop3.大多mua使用pop
IMAP4,第4版互联网消息访问协议,TCP 143端口用于收取邮件。目前imap协议最新版本是imap4.与pop3相比更加强大的邮件收取 邮件管理功能。
商业邮件系统
Exchange:微软公司的重量级产品,与Windows系列软件产品相集成,协作性较好
Notes/Domino:IBM公司的商业电子邮件和办公协作软件产品,功能丰富、强大,提供跨平台支持
开源邮件系统
Sendmail:资格最古老,运行稳定,但安全性欠佳
Qmail:有更好的执行效率,配置、管理也很方便
Postfix:兼容Sendmail,采用模块化设计,在投递效率、稳定性、服务性能及安全性方面表现优秀
三、最佳实践
第一步 组件选择说明 1、AMP —— apache、mysql、php(非必须) 2、postfix —— mta 邮件系统核心 3、courier-authlib —— 一个为courier-imap,maildrop,sasl2 提供用户信息的后台程序 4、courier-imap —— 提供pop3,pop3s,imap,imaps 服务的程序 5、dspam clamd —— 提供内容过滤 6、extmail —— 一个著名的wemail程序 7、extman —— 与extmail集成的后台管理程序 第二步 组件安装 提示:记得关闭 sendmail 让它不要自启动 1、安装AMP [root@c3 youjian]# yum -y install httpd httpd-devel mysql mysql-devel mysql-server php php-xml php-cli php-pdo php-mbstring php-mcrypt php-gd php-common php-devel php-mysql openldap* perl-Unix-Syslog 修改启动配置并启动 [root@c3 youjian]# chkconfig --level 345 mysqld on [root@c3 youjian]# chkconfig --level 345 httpd on [root@c3 youjian]# service mysqld start [root@c3 youjian]# service httpd start 2. 下载 extman (http://www.extmail.org/cgi-bin/download.cgi) 注意选择 extman [root@c3 youjian]# tar xvf extman-1.1.tar.gz [root@c3 youjian]# cd extman-1.1/docs/ [root@c3 docs]# mysql -uroot -p < extmail.sql 注意,把下面的 init.sql 把里面的extmail.org缓冲你的域名,我这里是 c3.google.com [root@c3 docs]# mysql -uroot -p < init.sql 3. RPM简介 下面我们采用rpm的方式安装软件 [root@c3 youjian]# export RPMS=/usr/src/redhat/RPMS/ [root@c3 youjian]# export SOURCE=/usr/src/redhat/SOURCES/ [root@c3 youjian]# export SPEC=/usr/src/redhat/SPECS/ 在下面的安装过程中, cd $RPMS 就是 cd /usr/src/redhat/RPMS 4. 安装 authlib A、安装依赖的包 [root@c3 youjian]# yum -y install postgresql-devel expect libtool-ltdl-devel [root@c3 youjian]# wget http://prdownloads.sourceforge.net/courier/courier-authlib-0.63.0.tar.bz2 [root@c3 youjian]# tar xvf courier-authlib-0.63.0.tar.bz2 [root@c3 youjian]# cd courier-authlib-0.63.0 [root@c3 courier-authlib-0.63.0]# cp courier-authlib.spec $SPEC [root@c3 courier-authlib-0.63.0]# cd .. [root@c3 youjian]# cp courier-authlib-0.63.0.tar.bz2 $SOURCE [root@c3 youjian]# cd $SPEC [root@c3 SPECS]# rpmbuild -bb courier-authlib.spec B、安装生成的rpm [root@c3 SPECS]# cd /usr/src/redhat/RPMS/i386/ [root@c3 i386]# rpm -ivh courier-authlib-0.63.0-1.i386.rpm [root@c3 i386]# rpm -ivh courier-authlib-devel-0.63.0-1.i386.rpm [root@c3 i386]# rpm -ivh courier-authlib-mysql-0.63.0-1.i386.rpm C、配置authlibdaemon [root@c3 i386]# cd /etc/authlib [root@c3 authlib]# mv authdaemonrc authdaemonrc.bak [root@c3 authlib]# vi authdaemonrc authmodulelist="authmysql" authmodulelistorig="authmysql" daemons=10 authdaemonvar=/var/spool/authdaemon DEBUG_LOGIN=2 DEFAULTOPTIONS="wbnodsn=1" LOGGEROPTS="" D、配置authmysqlrc [root@c3 authlib]# mv authmysqlrc authmysqlrc.bak [root@c3 authlib]# vi authmysqlrc MYSQL_SERVER localhost MYSQL_USERNAME extmail MYSQL_PASSWORD extmail MYSQL_PORT 0 MYSQL_SOCKET /var/lib/mysql/mysql.sock MYSQL_OPT 0 MYSQL_DATABASE extmail MYSQL_SELECT_CLAUSE SELECT username,password,"",uidnumber,gidnumber,\ CONCAT('/home/domains/',homedir), \ CONCAT('/home/domains/',maildir), \ quota, \ name \ FROM mailbox \ WHERE username = '$(local_part)@$(domain)' E、启动authlib [root@c3 authlib]# service courier-authlib start Starting Courier authentication services: authdaemond [root@c3 authlib]# chmod 777 /var/spool/authdaemon/ 5. 安装courier-imap 由于courier-imap不能用root身份生产rpm,那么我们新建一个普通用户,并创建一个rpm环境 [root@c3 authlib]# useradd yiyou [root@c3 authlib]# yum -y install openldap-servers [root@c3 authlib]# su - yiyou [yiyou@c3 ~]$ mkdir -p rpm/{BUILD,RPMS,SOURCES,SPECS,SRPMS} [yiyou@c3 ~]$ vi ~/.rpmmacros %_topdir /home/yiyou/rpm [yiyou@c3 ~]$ wget http://prdownloads.sourceforge.net/courier/courier-imap-4.7.0.tar.bz2 [yiyou@c3 ~]$ cp courier-imap-4.7.0.tar.bz2 rpm/SOURCES/ [yiyou@c3 ~]$ tar xvf courier-imap-4.7.0.tar.bz2 [yiyou@c3 ~]$ cd courier-imap-4.7.0 [yiyou@c3 courier-imap-4.7.0]$ cp courier-imap.spec ../rpm/SPECS/ [yiyou@c3 courier-imap-4.7.0]$ cd ../rpm/SPECS/ 编辑 courier-imap.spec 将 fam.h 去掉改成如下(大概57行) %if %suse_version BuildRequires: rpm >= 3.0.5 /usr/bin/sed openldap2 openldap2-devel %else BuildRequires: rpm >= 4.0.2 sed openldap-devel openldap-servers %endif 创建rpm [yiyou@c3 SPECS]$ rpmbuild --bb courier-imap.spec 当完成rpm后,输入exit退出当前用户 [root@c3 ~]# rpm -ivh /home/yiyou/rpm/RPMS/i386/courier-imap-4.7.0-1.i386.rpm [root@c3 ~]# service courier-imap start 6. 安装cyrus-sasl [root@c3 ~]# yum install -y cyrus-sasl-devel cyrus-sasl-plain cyrus-sasl cyrus-sasl-lib A. 配置sasl2 [root@c3 ~]# vi /usr/lib/sasl2/smtpd.conf pwcheck_method:authdaemond log_level:3 mech_list:PLAIN LOGIN authdaemond_path:/var/spool/authdaemon/socket 7、安装postfix 升级至2.6.5 A、下载软件包 [root@c3 ~]# cd [root@c3 ~]# wget http://ftp.wl0.org/official/2.6/SRPMS/postfix-2.6.5-1.src.rpm [root@c3 ~]# rpm -ivh postfix-2.6.5-1.src.rpm [root@c3 ~]# export RPMS=/usr/src/redhat/RPMS [root@c3 ~]# export SOURCE=/usr/src/redhat/SOURCES [root@c3 ~]# export SPEC=/usr/src/redhat/SPECS [root@c3 ~]# cd $SPEC [root@c3 SPECS]# vi postfix.spec %define distribution rhel-5.0 %define with_mysql_redhat 1 %define with_sasl 2 %define with_vda 1 %define with_pcre 1 B、创建rpm [root@c3 SPECS]# yum install pcre-devel [root@c3 SPECS]# rpmbuild -bb postfix.spec //这里编译可能会出错,提示什么包没装,然后直接 yum 安装即可 [root@c3 SPECS]# cd /usr/src/redhat/RPMS/i386/ [root@c3 i386]# rpm -ivh postfix-2.6.5-1.rhel5.i386.rpm C、切换mta [root@c3 i386]# alternatives --config mta 共有 2 个程序提供"mta"。 选择 命令 ----------------------------------------------- *+ 1 /usr/sbin/sendmail.sendmail 2 /usr/sbin/sendmail.postfix 按 Enter 来保存当前选择[+],或键入选择号码:2 [root@c3 i386]# rpm -e sendmail [root@c3 i386]# cd /usr/sbin [root@c3 sbin]# mv sendmail sendmail.bak [root@c3 sbin]# newaliases [root@c3 sbin]# ln -s sendmail.postfix sendmail D、配置postfix [root@c3 sbin]# cd /etc/postfix/ [root@c3 postfix]# mv main.cf main.cf.bak (记得把下面()去掉,否则会报错,下面是蜗牛的参考 myhostname = mail.woniu.com mydomain = woniu.com mydestination = $myhostname smtpd_banner = mail.woniu.com )下面才是真正的配置文件 [root@c3 postfix]# vi main.cf queue_directory = /var/spool/postfix command_directory = /usr/sbin daemon_directory = /usr/libexec/postfix data_directory = /var/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 ddd $daemon_directory/$process_name $process_id & sleep 5 sendmail_path = /usr/sbin/sendmail.postfix newaliases_path = /usr/bin/newaliases.postfix mailq_path = /usr/bin/mailq.postfix setgid_group = postdrop html_directory = /usr/share/doc/postfix-2.6.5-documentation/html manpage_directory = /usr/share/man sample_directory = /etc/postfix readme_directory = /usr/share/doc/postfix-2.6.5-documentation/readme alias_database = hash:/etc/postfix/aliases alias_maps = hash:/etc/postfix/aliases myhostname = mail.360book.com.cn(修改为自己的域名) mydomain = 360book.com.cn(修改为自己的域名) mydestination = $myhostname smtpd_banner = 360book.com.cn ESMTP Mail System(修改为自己的域名) message_size_limit = 14680064 virtual_alias_maps = mysql:/etc/postfix/mysql_virtual_alias_maps.cf virtual_mailbox_base = /home/domains virtual_mailbox_domains = mysql:/etc/postfix/mysql_virtual_domains_maps.cf virtual_mailbox_maps = mysql:/etc/postfix/mysql_virtual_mailbox_maps.cf virtual_mailbox_limit_maps = mysql:/etc/postfix/mysql_virtual_limit_maps.cf virtual_transport = maildrop maildrop_destination_recipient_limit = 1 #sasl smtpd_sasl_auth_enable = yes smtpd_sasl2_auth_enable = yes smtpd_sasl_security_options = noanonymous broken_sasl_auth_clients = yes smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination, reject_unauth_pipelining, reject_invalid_hostname dspam_destination_recipient_limit = 1 复制 extman/docs 目录的cf 文件到 /etc/postfix [root@c3 ~]# cd youjian/ [root@c3 youjian]# cp extman-1.1/docs/mysql_virtual_* /etc/postfix/ 因为配置文件的用户、密码与数据库时一样,所以不用修改 [root@c3 youjian]# service postfix start 8、安装 maildrop A、下载生成RPM [root@c3 postfix]# cd [root@c3 ~]# wget downloads.sourceforge.net/project/courier/maildrop/2.4.3/maildrop-2.4.3.tar.bz2?r=http%3A%2F%2Fsourceforge.net%2Fprojects%2Fcourier%2Ffiles%2Fmaildrop%2F2.4.3%2F&ts=1318465576&use_mirror=ncu [root@c3 ~]# cp maildrop-2.4.3.tar.bz2 $SOURCE [root@c3 ~]# tar xvf maildrop-2.4.3.tar.bz2 [root@c3 ~]# cd maildrop-2.4.3 [root@c3 maildrop-2.4.3]# cp maildrop.spec $SPEC [root@c3 maildrop-2.4.3]# cd $SPEC 编辑 maildrop.spec 把下面: BuildRequires: /usr/include/fam.h gdbm-devel pcre-deve 改为: BuildRequires: gdbm-devel pcre-devel 把下面: %configure --with-devel 这段最后添加 --enable-authlib B、创建安装 maildrop rpm [root@c3 SPECS]# yum -y install pcre-devel [root@c3 SPECS]# rpmbuild -bb maildrop.spec [root@c3 SPECS]# cd /usr/src/redhat/RPMS/i386/ [root@c3 i386]# rpm -ivh maildrop-2.4.3-1.i386.rpm C、添加虚拟用户及创建目录 [root@c3 i386]# cd [root@c3 ~]# groupadd -g 1000 vgroup [root@c3 ~]# useradd -g 1000 -u 1000 -s /sbin/nologin -d /dev/null vuser 编辑 /etc/postfix/master.cf ,加入下面的内容 maildrop unix - n n - - pipe flags=DRhu user=vuser argv=/usr/bin/maildrop -d ${user}@${nexthop} ${recipient} ${user} ${extension} ${nexthop} //注意上面一行有空格 D、创建邮件存储目录 [root@c3 ~]# mkdir -p /home/domains/c3.google.com/postmaster [root@c3 ~]# maildirmake /home/domains/c3.google.com/postmaster/Maildir [root@c3 ~]# chown -R vuser:vgroup /home/domains E、测试maildrop [root@c3 docs]# echo "test" | maildrop -V 10 -d postmaster@c3.google.com maildrop: authlib: groupid=1000 maildrop: authlib: userid=1000 maildrop: authlib: logname=postmaster@c3.google.com, home=/home/domains/c3.google.com/postmaster, mail=/home/domains/c3.google.com/postmaster/Maildir/ maildrop: Changing to /home/domains/c3.google.com/postmaster Message start at 0 bytes, envelope sender=postmaster@c3.google.com maildrop: Attempting .mailfilter maildrop: Delivery complete. 出现以上信息说明 authlib, maildrop 工作正常 F、测试POP3 [root@c3 docs]# telnet localhost 110 Trying 127.0.0.1... Connected to localhost (127.0.0.1). Escape character is '^]'. +OK Hello there. [root@c3 docs]# telnet localhost 110 Trying 127.0.0.1... Connected to localhost (127.0.0.1). Escape character is '^]'. +OK Hello there. user postmaster@c3.google.com +OK Password required. pass extmail +OK logged in. list +OK POP3 clients that break here, they violate STD53. 1 6 . retr 1 +OK 6 octets follow. test . quit +OK Bye-bye. Connection closed by foreign host. G、测试postfix [root@c3 docs]# perl -MMIME::Base64 -e 'print encode_base64("postmaster\@c3.google.com");' cG9zdG1hc3RlckBjMy53YXdhbWUuY29t [root@c3 docs]# perl -MMIME::Base64 -e 'print encode_base64("extmail");' ZXh0bWFpbA== [root@c3 docs]# service postfix restart [root@c3 docs]# telnet localhost 25 Trying 127.0.0.1... Connected to localhost (127.0.0.1). Escape character is '^]'. 220 c3.google.com ESMTP Mail System ehlo test.com //输入随便域名 250-c3.google.com 250-PIPELINING 250-SIZE 14680064 250-VRFY 250-ETRN 250-AUTH LOGIN PLAIN 250-AUTH=LOGIN PLAIN 250-ENHANCEDSTATUSCODES 250-8BITMIME 250 DSN auth login 334 VXNlcm5hbWU6 cG9zdG1hc3RlckBjMy53YXdhbWUuY29t //这里输入上面得到的值 334 UGFzc3dvcmQ6 ZXh0bWFpbA== 235 2.7.0 Authentication successful quit 221 2.0.0 Bye Connection closed by foreign host. 9、安装extman/extmail 添加emos 1.5的源 vi /etc/yum.repos.d/EMOS-Base.repo # # Created by ExtMail Dev Team: http://www.extmail.org/ # # $Id$ [EMOS-base] name=EMOS-Base baseurl=http://mirror.extmail.org/yum/emos/1.5/os/$basearch/ gpgcheck=0 priority=0 protect=0 [EMOS-update] name=EMOS-Updates baseurl=http://mirror.extmail.org/yum/emos/1.5/updates/$basearch/ gpgcheck=0 priority=0 protect=0 A、配置apache [root@c3 ~]# vi /etc/httpd/conf/httpd.conf 将下面的选项改为: User vuser Group vgroup 在文件最后加入: Include /etc/httpd/conf.d/extmail.conf [root@c3 ~]# cd /etc/httpd/conf.d/ [root@c3 conf.d]# vi extmail.conf Alias /extman/cgi/ /var/www/extsuite/extman/cgi/ Alias /extman /var/www/extsuite/extman/html/ <Location "/extman/cgi"> SetHandler cgi-script Options +ExecCGI </Location> # config for ExtMail Alias /extmail/cgi/ /var/www/extsuite/extmail/cgi/ Alias /extmail /var/www/extsuite/extmail/html/ <Location "/extmail/cgi"> SetHandler cgi-script Options +ExecCGI </Location> [root@c3 conf.d]# mkdir /var/www/extsuite [root@c3 conf.d]# cd /root/youjian/ 去http://www.extmail.org/cgi-bin/download.cgi下载extmail-1.2.tar.gz [root@c3 youjian]# tar xvf extmail-1.2.tar.gz [root@c3 youjian]# cp -r extmail-1.2 /var/www/extsuite/extmail [root@c3 youjian]# cp -r extman-1.1 /var/www/extsuite/extman B、配置extmail参数 [root@c3 youjian]# cd /var/www/extsuite/extmail/ [root@c3 extmail]# cp webmail.cf.default webmail.cf [root@c3 extmail]# vi webmail.cf 修改如下配置 SYS_SESS_DIR = /tmp/extmail SYS_MAILDIR_BASE = /home/domains SYS_MYSQL_USER = extmail SYS_MYSQL_PASS = extmail C、配置extman参数 [root@c3 extmail]# cd /var/www/extsuite/extman/ [root@c3 extman]# cp webman.cf.default webman.cf [root@c3 extman]# vi webman.cf 修改参数 SYS_MAILDIR_BASE = /home/domains D、创建session目录 [root@c3 extman]# mkdir /tmp/{extman,extmail} [root@c3 extman]# chown vuser:vgroup /tmp/ext* E、配置后台日志分析工具 [root@c3 extman]# cd /var/www/extsuite/extman/addon/ [root@c3 addon]# cp -r mailgraph_ext /usr/local/ 将下面的内容加入 /etc/rc.local [root@c3 addon]# yum -y install rrdtool perl-rrdtool perl-GD perl-File-Tail F、启动后台进程 [root@c3 addon]# /usr/local/mailgraph_ext/mailgraph-init start Starting mail statistics grapher: mailgraph_ext Starting queue statistics grapher: qmonitor G、访问extmail/extman 重启apache 打开浏览器,输入 http://your_ip_address/extmail 帐号 : postmaster 密码: extmail 我这里的域是: c3.google.com 打开浏览器,输入 http://you_ip_address/extman 帐号: root@c3.google.com 密码:extmail*123* 注意: 进入系统后要修改密码及找回密码的提示问题、答案。 10. 安装sdpam clamd [root@c3 conf.d]# yum install clamd dspam* 进入mysql mysql> create database dspam; Query OK, 1 row affected (0.00 sec) mysql> grant all on dspam.* to dspam@localhost identified by 'dspam'; Query OK, 0 rows affected (0.00 sec) [root@c3 mysql]# cd /usr/share/dspam/sql/mysql/ 修改 mysql_objects-4.1.sql 和 virtual_users.sql 在文件前添加 use dspam; [root@c3 mysql]# mysql -udspam -p < mysql_objects-4.1.sql [root@c3 mysql]# mysql -udspam -p < virtual_users.sql crontab -e 添加: 0 0 * * * /usr/bin/mysql -u dspam -p'dspam' dspam < /usr/share/dspam/sql/mysql/purge-4.1.sql 0 0 * * * /usr/bin/dspam_logrotate -a 30 -d /var/spool/dspam/data 修改 /etc/dspam/dspam.conf MySQLServer /var/lib/mysql/mysql.sock MySQLUser dspam MySQLPass dspam MySQLDb dspam MySQLCompress true MySQLUIDInSignature on ClamAVPort 3310 //开启clamd ClamAVHost 127.0.0.1 ClamAVResponse spam ServerPID /var/run/dspam.pid ServerMode auto ServerParameters "--user dspam --deliver=innocent,spam" ServerDomainSocketPath "/tmp/dspam.sock" DeliveryHost 127.0.0.1 DeliveryPort 10026 DeliveryIdent localhost DeliveryProto SMTP ParseToHeaders on ChangeModeOnParse on ChangeUserOnParse full [root@c3 mysql]# vi /etc/postfix/master.cf smtp inet n - n - - smtpd #To: smtp inet n - n - - smtpd -o content_filter=lmtp:unix:/tmp/dspam.sock(-o 前面有三个空格) lmtp unix - - n - - lmtp 127.0.0.1:10026 inet n - n - - smtpd -o content_filter= -o local_recipient_maps= -o relay_recipient_maps= -o smtpd_restriction_classes= -o smtpd_helo_restrictions= -o smtpd_sender_restrictions= -o smtpd_recipient_restrictions=permit_mynetworks,reject -o mynetworks=127.0.0.0/8 -o strict_rfc821_envelopes=yes -o smtpd_error_sleep_time=0 -o smtpd_soft_error_limit=1001 -o smtpd_hard_error_limit=1000 -o receive_override_options=no_unknown_recipient_checks,no_header_body_checks [root@c3 mysql]# vi /usr/share/dspam/webui/cgi-bin/admins 添加admin [root@c3 mysql]# htpasswd -c .htpasswd admin xx xx [root@c3 mysql]# /etc/init.d/dspam-webd start [root@c3 mysql]# chkconfig --level 345 dspamd on [root@c3 mysql]# chmod -R 777 /usr/share/dspam [root@c3 mysql]# service dspamd start
posted on 2017-12-28 22:22 Mahavairocana 阅读(670) 评论(0) 编辑 收藏 举报