postfix+dovecot配置多域名邮件服务器

mail邮局系统的MX(邮件交换)记录配置,以便收发邮件。(MX记录,是邮件交换记录,它指向一个邮件服务器,用于电子邮件系统发邮件时根据收信人的地址后缀来定位邮件服务器,如果没有做域名解析,邮局不能正常使用,即不能正常的发送或者接收邮件。)
一、安装postfix和dovecot
yum install postfix dovecot
chkconfig postfix on
chkconfig dovecot on
也可以用一次安装所有依赖包 yum install sysstatpostfixcrontabs redhat-lsb-graphicsredhat-lsb-corearpwatchcronie dovecot
1、配置postfix
vi /etc/postfix/main.cf
# change or add on these line:
myhostname = yes81.net
mydomain = yes81.net
myorigin = $mydomain
inet_interfaces = all
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
mynetworks = 127.0.0.0/8
home_mailbox = Maildir/

smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_sasl_auth_enable = yes
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination, permit
broken_sasl_auth_clients = yes
2、dovecot配置
vi /etc/dovecot/dovecot.conf
# uncomment on this line:
protocols = imap pop3
listen = *
3、配置认证方式
vi /etc/dovecot/conf.d/10-auth.conf
【postfix+dovecot配置多域名邮件服务器】# change on these line:
disable_plaintext_auth = no
auth_mechanisms = plain login
4、设置邮箱文件夹
vi /etc/dovecot/conf.d/10-mail.conf
mail_location = maildir:~/Maildir
5、配置认证
vi /etc/dovecot/conf.d/10-master.conf
# commented on these line:
#unix_listener auth-userdb {
#mode = 0600
#user =
#group =
#}

# change or setup on these line:
# Postfix smtp-auth
unix_listener /var/spool/postfix/private/auth {
mode = 0666
user = postfix
group = postfix
}
6、配置pop3
vi /etc/dovecot/conf.d/20-pop3.conf
# uncomment on these line:
pop3_uidl_format = %08Xu%08Xv
pop3_client_workarounds = outlook-no-nuls oe-ns-eoh
7、重启dovecot 、postfix
Service dovecot restart
Service postfix restart

8、增加用户和设置用户密码
这个时候就可以增加用户和设置用户密码,然后测试收发
groupadd mailuser
adduser -g mailuser -s /sbin/nologin test1
passwdtest1
adduser -g mailuser -s /sbin/nologin test2
passwdtest2
打开FOXMAIL等邮件工具测试,能正常收发,就表示系统可以了。
test1@mail.yes81.nettest2@mail.yes81.net

二、 如果无法发信
试着发送邮件,如果发送不出去,查看日志文件/var/log/maillog 如果显示:
postfix/smtp[17105]: fatal: unknown service: smtp/tcp
postfix/smtpd: disconnect from unknown[113.64.242.145]
postfix/qmgr: warning: private/smtp socket: malformed response
postfix/qmgr: warning: transport smtp failure -- see a previous warning/fatal/panic logfile record for the problem description
postfix/master: warning: process /usr/libexec/postfix/smtp pid 17105 exit status 1
postfix/master: warning: /usr/libexec/postfix/smtp: bad command startup -- throttling
这是由于邮件默认的postfix账号无法执行/etc/services,权限不足所致。查看service的权限为640:
Chmod 644 /etc/services于是将其改为644:
重新启动2个服务后就可以看到,一切正常了!

三、如何添加虚拟域名:
http://www.postfix.org/VIRTUAL_README.html
按照官方指导,对于多域名的支持postfix支持以下几种方式:
1.共享域名,共享Unix账户
2.虚拟别名(Virtual Alias)独立域名,共享Unix账户
3.虚拟邮箱(Virtual Mailbox)独立域名,无需Unix账户
4.转发服务器(Forwarding Server)用做备份服务器,主服务器故障时暂存邮件,恢复后直接转发给主服务器



从官网查到后,决定采用第2种方法:虚拟别名(Virtual Alias)独立域名,共享Unix账户

vi /etc/postfix/main.cf virtual_alias_domains = t3t3.org
virtual_alias_maps = hash:/etc/postfix/virtual
alias_maps=hash:/etc/aliases

vi /etc/postfix/virtual

test1@t3t3.orgtest1
test2@t3t3.orgtest2
test1@yes81.nettest1
test2@yes81.nettest2

vi /etc/aliases//把刚添加的帐号做个别名 test1:test1
test2:test2

postmap /etc/postfix/virtual//reload 数据库后需新域名就可以使用了
postalias /etc/aliases//postfix/etc/aliases命令是否等同?
newaliases
postfixreload//reload
Service dovecot restart//重新启动
Service postfix restart//重新启动

如果操作postfix/etc/aliases时候出现/usr/libexec/postfix/postfix-script: line 337: /etc/aliases: Permission denied则需要修改权限:
chmod 664 /etc/aliases
chown root /etc/aliases
chmod 755 /etc/aliases.db
chown smmsp /etc/aliases.db
修改好权限后,再次执行reload和重新等命令

如此后邮件服务器就可以用test1@yes81.nettest1@t3t3.org进行收发邮件了。 转载于:https://www.cnblogs.com/fatt/p/4362892.html

    推荐阅读