由于公司业务需要注册多个邮箱,但是目前各大公共企业邮箱注册都需要手机号注册,实在是没有那么多手机号,于是决定搭建私有的邮箱服务器(Centos7+Postfix+Dovecot+Mailx)。总结出以下步骤,记录的同时也希望可以大家。
首先我们检查我们的服务器能否telnet通我们要发送的一些邮件服务商的端口,比如qq,163,gmail等,如果不通的话需要更换服务器,因为此服务器商将这些给拦截了。
我们需要开放我们需要的端口,端口有25(SMTP服务,用于发送邮件),110(pop3服务,用于接收邮件)
rpm -e sendmail
或
yum remove sendmail
我们需要添加A记录和mx记录。首先添加A记录解析到我们的服务器ip。
名称 | 记录类型 | 主机记录 | 记录值 |
---|---|---|---|
邮件域名 | A | mail.abc.com | 服务器IP |
邮件服务器 | MX | @ | mail.abc.com |
hostnamectl set-hostname mail.域名
alternatives --config mta
然后直接回车即可。
检查一下是不是已经设置成功了。
alternatives --display mta
第一行可以看到mta的状态。 例如:mat - status is manual.就是ok了。
yum -y install postfix dovecot cyrus-sasl-* mailx
vim /etc/postfix/main.cf
mail_owner = postfix
myhostname = mail.abc.com
mydomain = abc.com
myorigin = $mydomain
inet_interfaces = all
inet_protocols = ipv4
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain, mail.$mydomain, www.$mydomain, ftp.$mydomain
local_recipient_maps =
mynetworks = 0.0.0.0/0
relay_domains = $mydestination
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
smtpd_banner = $myhostname ESMTP
# 在最下面新增
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_sasl_local_domain =
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
broken_sasl_auth_clients = yes
smtpd_recipient_restrictions = permit_mynetworks,permit_auth_destination,permit_sasl_authenticated
smtpd_client_restrictions = permit_sasl_authenticated
vim /etc/dovecot/dovecot.conf
protocols = imap pop3 lmtp
listen = *
login_trusted_networks = 0.0.0.0/0
dict {
}
!include conf.d/*.conf
!include_try local.conf
vim /etc/dovecot/conf.d/10-auth.conf
disable_plaintext_auth = no
auth_mechanisms = plain login
!include auth-system.conf.ext
vim /etc/dovecot/conf.d/10-mail.conf
mail_location = mbox:~/mail:INBOX=/var/mail/%u
namespace inbox {
inbox = yes
}
first_valid_uid = 1000
mbox_write_locks = fcntl
vim /etc/dovecot/conf.d/10-master.conf
unix_listener /var/spool/postfix/private/auth {
mode = 0666
user = postfix
group = postfix
}
vim /etc/dovecot/conf.d/10-ssl.conf
ssl = no
vim /etc/sysconfig/saslauthd
SOCKETDIR=/run/saslauthd
MECH=shadow
FLAGS=
vim /usr/lib64/sasl2/smtpd.conf
pwcheck_method: saslauthd
mech_list: PLAIN LOGIN
log_level:3
systemctl restart dovecot
systemctl restart postfix
systemctl restart saslauthd
systemctl enable dovecot
systemctl enable postfix
systemctl enable saslauthd
useradd admin
passwd admin
如果创建的邮箱用户在后面测试使用中可以正常登录客户端、发送邮件,但是不能接收到邮件,可尝试解决方案如下:
su admin
mkdir -p ~/mail/.imap/INBOX
vim /etc/mail.rc
set from=admin@adc.com
set smtp=mail.abc.com
set smtp-auth-user=admin
set smtp-auth-password=123456
set smtp-auth=login
echo "内容" | mail -s "标题" other-email@163.com
tail -f /var/log/maillog
手动配置, 配置内容见下图:
配置后即可登录成功,就可以随意的与任何人互相收发邮件啦
解决方案:
- 登录服务器
- 切换到不能接受邮件的用户
su admin
- 然后为用户zs,创建inbox目录
mkdir -p ~/mail/.imap/INBOX
👍
nb
This is a good blog, happy every day
Thanks
友情链接页面没了
已添加
Looks good!I like this!