【服务端】CentOS Linux 7 搭建邮件服务器
时间:2024-04-13 20:25:23 来源:网络cs 作者:利杜鹃 栏目:培训机构 阅读:23
参考:CentOS7搭建简单的邮件服务器 - 秋夜雨巷 - 博客园 (cnblogs.com)
前言
在 CentOS7 中搭建邮件服务器,给QQ邮箱发邮件。简单记录一次搭建过程。
目录
前言
一、基础环境准备
二、配置域名解析
1. 登录阿里云
三、安装邮件服务
1. 登录主机,配置yum源(配置阿里云yum源步骤略)
2. 安装软件
3. 修改配置
3.1 配置postfix
3.2 配置dovecot
3.3 配置cyrus-sasl
四、测试
1. 查看端口监听状态
2. 安装mailx命令测试
五、创建用户,登录自建的邮件服务器
1. 添加用户
2. 安装 cyrus-sasl-plain (不安装可能导致无法发信)
3. 在foxmail上添加自建的邮箱
4. 使用foxmail发信/收信
4.1 发信给其他邮箱
4.2 其他邮箱发信给自建邮件服务器(发信过程略)
结语
一、基础环境准备
- 虚拟机/ECS:2C4G(配置任意,最低1C1G)
- 操作系统:CentOS Linux 7.9 x86_64
- 公网IP:运营商分配公网IP/弹性公网IP/DDNS(本文暂不介绍DDNS)
- 域名:有一个域名就可以,这里用.top的(没有域名可以去阿里云万网买一个)
二、配置域名解析
1. 登录阿里云
阿里云-计算,为了无法计算的价值 (aliyun.com)
搜索并进入 【云解析DNS】
选择一个已有的域名,点击 【解析设置】
点击【添加记录】
- 记录类型:MX
- 主机记录:@
- 记录值:mail.域名
- MX优先级:1 只有一条DNS记录,改不改无意义。
再次点击【添加记录】
- 记录类型:A
- 主机记录:mail
- 记录值:公网IP地址
配置完成截图
注意:DNS解析配置完成后,并不会马上生效。
三、安装邮件服务
1. 登录主机,配置yum源(配置阿里云yum源步骤略)
2. 安装软件
yum -y install postfix dovecot cyrus-sasl
3. 修改配置
3.1 配置postfix
vim /etc/postfix/main.cf
# 修改以下项,注释的解开,不要有重复项# 设置为 mail.域名myhostname = mail.amserv.top# 设置为 域名mydomain = amserv.top# 往外发邮件的邮件域myorigin = $mydomain#监听的网卡inet_interfaces = allinet_protocols = all#服务的对象mydestination = $myhostname,$mydomain#邮件存放的目录home_mailbox = Maildir/# 新添加以下配置#--------自定义(下面可以复制粘贴到文件最后面,用于设置服务器验为主,第一行设置发送附件大小)#message_size_limit = 100000smtpd_sasl_auth_enable = yessmtpd_sasl_security_options = noanonymousmynetworks = 127.0.0.0/8smtpd_recipient_restrictions = permit_mynetworks,permit_sasl_authenticated,reject_unauth_destination
最终修改如下。
最后新增的几行释义,请点击文章开头参考链接。
检查并启动postfix
# 检查postfix check# 启动systemctl start postfix# 开机自启动systemctl enable postfix
3.2 配置dovecot
vim /etc/dovecot/dovecot.conf
# 注释的解开注释,不要有重复项protocols = imap pop3 lmtplisten = *, ::#以下内容添加到文件最后!include conf.d/10-auth.confssl = nodisable_plaintext_auth = nomail_location = maildir:~/Maildir
# 启动dovecotsystemctl start dovecot# 开机自启动systemctl enable dovecot
3.3 配置cyrus-sasl
vim /etc/sasl2/smtpd.conf #如果文件不存在,创建即可
pwcheck_method: saslauthdmech_list: plain loginlog_level:3
vim /etc/sysconfig/saslauthd
MECH=shadow
# 启动 saslauthdsystemctl start saslauthd# 开机自启动systemctl enable saslauthd
四、测试
!!!重要的:如果使用的ECS,请务必在安全组/网络ACL中开放25、110、143端口(TCP)。
如果主机内也开启了防火墙(Linux firewalld),不想要关闭防火墙的情况下,使用以下命令开放端口。建议关闭防火墙测试。
# 添加防火墙规则,允许 25、110、143端口firewall-cmd --permanent --zone=public --add-port=25/tcpfirewall-cmd --permanent --zone=public --add-port=110/tcpfirewall-cmd --permanent --zone=public --add-port=143/tcp# 重载防火墙配置firewall-cmd --reload# 查看端口开放列表firewall-cmd --list-ports
1. 查看端口监听状态
# 查看端口监听状态 没有该命令使用 yum -y install net-toolsnetstat -ntpl
2. 安装mailx命令测试
yum -y install mailx
测试前,看一下域名是否解析正常,用nslookup看一下。
# Windows上测试nslookup mail.域名
mailx 测试
echo '在Centos上搭建邮件服务器成功啦!!!' | mail -s '通知!' xxx@qq.com
如发现没有收到邮件,可以查看日志。(注意QQ邮箱是否设置反垃圾等)
tail -f /var/log/maillog
五、创建用户,登录自建的邮件服务器
1. 添加用户
useradd mailuser# 123456passwd mailuser
2. 安装 cyrus-sasl-plain (不安装可能导致无法发信)
参考:no SASL authentication mechanisms-CSDN博客
yum install cyrus-sasl-plain
testsaslauthd -u mailuser -p '123456'
3. 在foxmail上添加自建的邮箱
点击【其他邮箱】
点击【手动设置】
- 接收服务器类型:POP3
- 邮件账号:用户名@域名
- 密码:刚刚设置的123456
- POP/SMTP 服务器:mail.域名
- 勾选 “如服务器支持,用STARTTLS加密传输”
设置成功!
4. 使用foxmail发信/收信
4.1 发信给其他邮箱
结果
4.2 其他邮箱发信给自建邮件服务器(发信过程略)
结语
花了几天时间,正好工作中有这个需求,搭建个自己邮件服务器,感觉还是挺好玩的(当QQ邮箱收到消息的那一刻)。
很多时候,难的并不是技术,而是各个软件版本之间的迭代,造成的配置文件翻新式的修改,以及版本的依赖问题。可能运维工程师要做的,就是协调好版本之间的关系吧,能跑起来的,就不要去动它(手动狗头保命)。
至此,自建邮件服务器搭建完成。有问题欢迎留言。
希望可以帮到你!
本文链接:https://www.kjpai.cn/news/2024-04-13/158264.html,文章来源:网络cs,作者:利杜鹃,版权归作者所有,如需转载请注明来源和作者,否则将追究法律责任!
下一篇:返回列表