如来神掌第一式第七招----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
原文地址:https://www.cnblogs.com/Mahavairocana/p/8138041.html