您的位置:首页 > 其它

postfix和dovecot架设邮件服务器的一些记录1

2016-04-22 10:29 501 查看
安装postfix,就用centos6.7附带的,直接在图形界面的管理的软件追加的服务器项目里的邮件服务器,添加postfix相关的,以及dovecot,为了收信嘛。当然因为sendmail和postfix只能有一个存在,安装postfix的时候,把sendmail相关都去掉。这样最简单,不需要修改系统默认的MTA,安装的过程中就自动修改了。
也可以通过命令
alternatives --config mta
来修改。
然后可以在图形管理界面的服务里把postfix和dovecot变成自动执行,并且都启动起来。运行级别3以上都要选上。如果要使用认证发信,那么必须把saslauthd变成自动执行,默认不是自动启动。
当然如果非要用命令
chkconfig postfix on
也行

最初建立最为简单的单域email服务器,直接使用Linux系统账户作为用户,这样配置修改最少。
先用命令行看看现在postfix的配置情况
postconf -n
这个命令显示配置的和默认不同的部分,如果要看全部不要用-n就全部显示出来
alias_database = hash:/etc/aliases //这个是别名的数据库
alias_maps = hash:/etc/aliases //别名对应列表
broken_sasl_auth_clients = yes //对于老式的email客户端是不是对应,就是不遵守RFC规则的
command_directory = /usr/sbin
config_directory = /etc/postfix
daemon_directory = /usr/libexec/postfix
data_directory = /var/lib/postfix
debug_peer_level = 2
home_mailbox = Maildir/ //这个是指定每个用户邮件的形式,这样指定是每一封信是一个文件,用户的email放在/home/username/Maildir下面
html_directory = no
inet_interfaces = all //默认是localhost,如果要对外运行,必须修改
inet_protocols = all
mail_owner = postfix
mail_spool_directory = /var/spool/mail //线程缓存交换的目录
mailq_path = /usr/bin/mailq.postfix
manpage_directory = /usr/share/man
mydestination = $mydomain //需要接受信的域名
mydomain = shenxu.com //自己的域名
mynetworks = 127.0.0.0/8 //指定内网或者可以信任的网络地址
myorigin = $mydomain //本域,如果发信的没有带自己的域,就在后面挂上这个
newaliases_path = /usr/bin/newaliases.postfix
queue_directory = /var/spool/postfix
readme_directory = /usr/share/doc/postfix-2.6.6/README_FILES
sample_directory = /usr/share/doc/postfix-2.6.6/samples
sender_canonical_maps = hash:/etc/postfix/sender_canonical_maps //替换发信者的映射列表
sendmail_path = /usr/sbin/sendmail.postfix
setgid_group = postdrop
smtpd_client_restrictions = permit_mynetworks, check_client_access hash:/etc/postfix/access, permit_sasl_authenticated //允许那些客户端可以接入,这里可以用来反垃圾邮件,如:reject_rbl_client zen.spamhaus.org 后面的域名是反垃圾邮件组织的域名
smtpd_recipient_restrictions = permit_mynetworks,permit_sasl_authenticated, reject_unauth_destination //中继email的许可范围
smtpd_sasl_auth_enable = yes //可以进行发信认证
smtpd_sender_restrictions = check_sender_access hash:/etc/postfix/sender_access, permit_sasl_authenticated //发信者的确认
unknown_local_recipient_reject_code = 550
其实默认的一些也很重要
smtpd_sasl_path = smtpd //这个是使用系统默认的路径
smtpd_sasl_security_options = noanonymous //禁止匿名认证
smtpd_sasl_type = cyrus //这个是使用系统默认的用户认证方式
这个默认是这样的,所以不需要修改,有时候为了和dovecot配合认证
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
当然如果dovecot也是用的默认的,没必要改,一般是要用到虚拟域的时候,无法使用Linux账户进行身份认证的时候才进行修改。

下面在看一下默认的dovecot
dovecot -n
# 2.0.9: /etc/dovecot/dovecot.conf
# OS: Linux 2.6.32-573.22.1.el6.x86_64 x86_64 CentOS release 6.7 (Final)
auth_mechanisms = plain login //认证的基本两种方法,必须要有,其它复杂的不提
disable_plaintext_auth = no //必须要no掉,不然老的客户端没法进行身份认证
managesieve_notify_capability = mailto
managesieve_sieve_capability = fileinto reject envelope encoded-character vacation subaddress comparator-i;ascii-numeric relational regex imap4flags copy include variables body enotify environment mailbox date
mbox_write_locks = fcntl
passdb {
driver = pam //支持系统身份认证
}
plugin {
sieve = ~/.dovecot.sieve
sieve_dir = ~/sieve
}
protocols = imap pop3 //支持的协议
ssl_cert = </etc/pki/dovecot/certs/dovecot.pem //进行电子证书的文件
ssl_key = </etc/pki/dovecot/private/dovecot.pem //进行电子证书的文件
userdb {
driver = passwd //支持系统身份认证
}
这个内容的修改,因为版本提高的原因,有些已经不在/etc/dovecot/dovecot.conf里了,而是在/etc/dovecot/conf.d下面的诸多文件里,修改的时候需要一个一个的修改。
比如disable_plaintext_auth = no是在10-auth.conf文件里,不过大多是不需要修改的。
/etc/dovecot/dovecot.conf就只修改了protocols = imap pop3一处,总共就改了2处,就可以用,架设服务器很快。
如果在postfix里修改了认证方式smtpd_sasl_type = dovecot,那么对应的dovecot也需要做相应的修改,/etc/dovecot/conf.d/10-master.conf
service auth {
unix_listener auth-userdb {
}
unix_listener /var/spool/postfix/private/auth {
mode = 0666
user = postfix
group = postfix
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  postfix