============================
相关软件:
1. 发送邮件 --- postfix2. 身份认证 --- sasl2
3. 接收邮件 --- dovecot
4. 防病毒邮件 --- clamAV
5. 防垃圾邮件 --- spamassassin
6.控制病毒及垃圾邮件扫描程序 --- amavisd-new
============================
待完善的问题:
1. 群发邮件的权限设置
2. 用户邮箱的配额限制
============================
完整邮件系统架构简介
我们知道,一个完整的邮件系统应该包括以下几个重要功能:
基本功能: 发送邮件、收取邮件
安全性功能: 收发邮件的身份认证、防病毒、防垃圾
完整的邮件系统架构流程图如下:
相关软件的安装及配置
1. 安装postfix,同时让postfix支持mysql查询# aptitude install postfix postfix-mysql
2. 查看postfix是否支持外部数据库mysql认证
# postconf -m
btree
cidr
environ
hash
internal
mysql
nis
proxy
regexp
sdbm
static
tcp
unix
3. 查看postfix支持的sasl认证类型
# postconf -a
cyrus
dovecot
4. 安装cyrus sasl认证
# aptitude install sasl2-bin libsasl2-modules-sql
5. 修改/etc/default/saslauthd
START=no ====> START=yes
6. 重启saslauthd,并验证saslauthd正常工作
# /etc/init.d/saslauthd restart
# testsaslauthd -u {username} -p {password}
若出现如下结果,表示saslauthd已正常运行,并可进行认证服务,否则请检查username和password并重试
0: OK "Success."
注:{username},{password}是登录linux系统的用户名和密码
7. postfix启用sasl认证
编辑/etc/postfix/main.cf,在最后添加如下内容:
smtpd_sasl_auth_enable = yes
broken_sasl_auth_clients = yes
smtpd_sasl_security_options = noanonymous
8. 修改/etc/postfix/master.cf,禁止postfix启用chroot
smtp inet n - - - - smtpd
rewrite unix - - - - - trivial-rewrite
cleanup unix n - - - 0 cleanup
==========>>>>>>
smtp inet n - n - - smtpd
rewrite unix - - n - - trivial-rewrite
cleanup unix n - n - 0 cleanup
这样设置的原因:如果不这么设置,则在发送邮件时,总是报如下错误,且邮件无法发送成功:
postfix/trivial-rewrite[10698]: warning: connect to mysql server localhost: Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock'
postfix/trivial-rewrite[10698]: fatal: mysql:/etc/postfix/mysql_virtual_alias_maps.cf(0,lock|fold_fix): table lookup problem
postfix/smtpd