Develop

Centos7.5搭建postfix邮件服务器

由于公司业务需要注册多个邮箱,但是目前各大公共企业邮箱注册都需要手机号注册,实在是没有那么多手机号,于是决定搭建私有的邮箱服务器(Centos7+Postfix+Dovecot+Mailx)。总结出以下步骤,记录的同时也希望可以大家。

准备环境

开放端口

首先我们检查我们的服务器能否telnet通我们要发送的一些邮件服务商的端口,比如qq,163,gmail等,如果不通的话需要更换服务器,因为此服务器商将这些给拦截了。

我们需要开放我们需要的端口,端口有25(SMTP服务,用于发送邮件),110(pop3服务,用于接收邮件)

移除sendmail

rpm -e sendmail

yum remove sendmail

域名解析配置

我们需要添加A记录和mx记录。首先添加A记录解析到我们的服务器ip。

名称 记录类型 主机记录 记录值
邮件域名 A mail.abc.com 服务器IP
邮件服务器 MX @ mail.abc.com

修改hostname

hostnamectl  set-hostname   mail.域名

修改MTA(默认邮件传输代理)

alternatives --config mta

然后直接回车即可。

检查一下是不是已经设置成功了。

alternatives --display mta

第一行可以看到mta的状态。 例如:mat - status is manual.就是ok了。

安装软件并配置

Yum安装

yum  -y  install  postfix  dovecot  cyrus-sasl-*  mailx

配置postfix

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

配置dovecot:

配置监听协议:

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
}

配置ssl(关闭):

vim /etc/dovecot/conf.d/10-ssl.conf

ssl = no

配置sasl2

配置系统认证:

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

创建目录(非必要步骤

如果创建的邮箱用户在后面测试使用中可以正常登录客户端、发送邮件,但是不能接收到邮件,可尝试解决方案如下:

  1. 登录服务器
  2. 切换到不能接受邮件的用户 su admin
  3. 然后为用户zs,创建inbox目录 mkdir -p ~/mail/.imap/INBOX

配置mailx:

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

file

客户端接收+发送(Mac)

安装网易邮箱大师

file

登录

手动配置, 配置内容见下图:

file

配置后即可登录成功,就可以随意的与任何人互相收发邮件啦

遇到的问题总结

1、能发送,但是收不到

解决方案:

  1. 登录服务器
  2. 切换到不能接受邮件的用户 su admin
  3. 然后为用户zs,创建inbox目录 mkdir -p ~/mail/.imap/INBOX

7 条评论

  1. 头像

    👍

  2. 头像

    nb

  3. 头像

    This is a good blog, happy every day

  4. 头像

    友情链接页面没了

    • dwf
      dwf

      已添加

  5. 头像

    Looks good!I like this!

发表评论

电子邮件地址不会被公开。 必填项已用*标注

相关推荐