1、A、安装相应软件 邮件服务器需要安装以下软件 0.查看是否已经安装 rpm -qa | grep sendmail rpm -qa | grep m4 rpm -qa | grep dovecot rpm -qa | grep cyrus 1.安装邮件服务器 yum install sendmail sendmail-cf sendmail-doc sendmail-devel sendmail主程序包 sendmail-cf宏文件包 sendmail-doc说明文档 /usr/share/sendmail-cf/README sendmail-devel服务器开发工
2、具 yum install m4 宏处理过滤 2.安装pop3/imap服务 yum install dovecot 3.安装用户认证 yum install cyrus-sasl cyrus-sasl-plain cyrus-sasl-lib cyrus-sasl-md5 或安装所有组件 yum install cyrus-sasl cyrus-sasl-* 4.安装邮件过滤器SpamAssassin yum install spamassassin chkconfig spamassassin on service spamassassin restart
3、 B、配置服务 B.1、配置sendmail.cf sendmail.cf是sendmail的核心配置文件,位于/etc/mail/sendmai.cf,里面有大量的宏语言,一般直接编辑的难度很大,所以我们需要编辑另外一个配置文件sendmail.mc,然后使用m4命令生成sendmail.cf文件。 1.编辑sendmail.mc vi /etc/mail/sendmail.mc 1.1.SendMail在默认只侦听127.0.0.1,此处要修改为侦听指定网络接 #DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')dnl
4、 找到以上行,更改为下面的行 DAEMON_OPTIONS(`Port=smtp,Addr=0.0.0.0, Name=MTA')dnl 1.2.设置SMTP的用户认证 TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl 找到以上行,把上面两行前面的dnl给删除掉,让这两行的配置生效,这两行的作用是激活邮件服务器的认证功能。 1.3.设本地
5、域名为 找到以下行 LOCAL_DOMAIN(`')dnl 1.4.使以下配置生效 DAEMON_OPTIONS(`Port=submission,Name=MSA,M=Ea')dnl 2.生成sendmail.cf 因为sendmail.cf的配置文件全部是用宏语言来编写的,一般人很难读懂,所以我们上步骤中的配置是为了最终体现在sendmail.cf文件中,在这里要用到m4命令。 cd /etc/mail/ m4 sendmail.mc > sendmail.cf 3.重启sendmail和saslauthd服务 service sendmail restart s
6、ervice saslauthd restart 4.开机启动sendmail和saslauthd服务 chkconfig sendmail on chkconfig saslauthd on B.2、修改local-host-names文件 local-host-names用来收发邮件的主机别名。举个例子吧:假设邮件服务器有两个主机名称,分别是和,而只想收到发给的信件,发给的邮件则拒收,那么需要添加到/etc/mail/local-host-names文件中,即可实现。 vi /etc/mail/local-host-names # local-host-names -
7、include all aliases for your machine here. 添加这个字段 B.3、修改access文件 1.配置access vi /etc/mail/access 允许所有网段访问并转发, RELAY 表示允许转发的 OK 表示无条件转发 DISCARD:拒绝 REJECT 表示拒绝并发退信通知 在原有基础上添加以下内容 #Connect:0.0.0.0 RELAY Connect: RELAY Connect:192.168
8、1 RELAY
2.编译生成访问控制文件
makemap hash access.db 9、e -C /etc/pki/tls/certs/ dovecot.pem
2.修改dovecot.conf配置文件
vi /etc/dovecot.conf
2.1.找到以下配置
protocols=imap imaps pop3 pop3s
删除前面的#,使其生效。
2.2.找到以下配置
ssl_cert_file = /etc/pki/tls/certs/dovecot.pem
ssl_key_file = /etc/pki/tls/certs/dovecot.pem
改成以上形式
3.重启dovecot服务
service dovecot restart
4. 10、开机启动dovecot服务
chkconfig dovecot on
B.7、配置procmail
现在SpamAssassin安装好了,如何告诉sendmail调用SpamAssassin扫描邮件呢?这里使用procmail来处理。
vi /etc/procmailrc
添加以下内容
LOGFILE=/var/log/procmail.log
MAILDIR=/var/mail
VERBOSE=off
PATH=/bin:/sbin:/usr/bin:/usr/sbin/:/usr/local/bin:/usr/local/sbin
LOGFILE=/var/log 11、/procmail.log
:0fw: spamassassin.lock
* < 100000
| /usr/bin/spamassassin
:0:
* ^X-Spam-Flag: Yes
$HOME/mail/spam-mail
C、测试邮箱
1.添加邮件用户
groupadd mailgroup
adduser -g mailgroup -s /sbin/nologin mail1
adduser -g mailgroup -s /sbin/nologin mail2
这样添加的用户名就没有了shell,只能收发信而不能登录到服务器运行其他程序
2.本地测试
用CentOS自带的Evolution进行测试
点击编辑->首选项,点击添加按钮,邮件地址输入mail1@,接受服务器选POP或者IMAP,服务器地址输入本机IP地址,发送服务器选Sendmail,也可以选择SMTP,SMTP服务器输入本机IP地址。
设置完成,可以发邮件测试。
3.局域网内测试
用Windows下 Outlook进行测试
点击工具->帐号设置,邮箱地址输入mail2@,接受邮件服务器输入邮件服务器IP地址,发送服务器只能选SMTP,发送邮件服务器输入邮件服务器IP地址。设置用户名密码。
设置完成,可以发邮件测试。






