反转基因福娃 发表于 2024-6-14 22:37:34

【服务端】CentOS Linux 7 搭建邮件服务器

参考: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】
https://img-blog.csdnimg.cn/fbef8a0264f64af5986e09893a91d520.png
选择一个已有的域名,点击 【剖析设置】
https://img-blog.csdnimg.cn/c89546d6e2a346109aee2030dc512913.png
点击【添加记录】
https://img-blog.csdnimg.cn/53bb9fbebee24dcf975e71073cc61ac8.png
- 记录类型:MX
- 主机记录:@
- 记录值:mail.域名
- MX优先级:1 只有一条DNS记录,改不改偶然义。
https://img-blog.csdnimg.cn/af8267ae85a34b83817b3777dd10b607.png
再次点击【添加记录】
https://img-blog.csdnimg.cn/e38a95ca5a904b29890f6652d43f631c.png
- 记录类型:A
- 主机记录:mail
- 记录值:公网IP地址
https://img-blog.csdnimg.cn/600bb3c463124263ba2889dd16c0d9a4.png
配置完成截图
https://img-blog.csdnimg.cn/e1808fdeb1144908bf56ad6b1df97195.png
注意:DNS剖析配置完成后,并不会立刻生效。
三、安装邮件服务

1. 登录主机,配置yum源(配置阿里云yum源步调略)

https://img-blog.csdnimg.cn/36ed67fbb41141fb9b687b8d03b6a4be.png
2. 安装软件

yum -y install postfix dovecotcyrus-sasl https://img-blog.csdnimg.cn/6f0b6f545c4b4b2a8740cd840faf62eb.png3. 修改配置

        3.1 配置postfix

vim /etc/postfix/main.cf
# 修改以下项,注释的解开,不要有重复项
# 设置为 mail.域名
myhostname = mail.amserv.top
# 设置为 域名
mydomain = amserv.top
# 往外发邮件的邮件域
myorigin = $mydomain
#监听的网卡
inet_interfaces = all
inet_protocols = all
#服务的对象
mydestination = $myhostname,$mydomain
#邮件存放的目录
home_mailbox = Maildir/

# 新添加以下配置
#--------自定义(下面可以复制粘贴到文件最后面,用于设置服务器验为主,第一行设置发送附件大小)
#message_size_limit = 100000
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
mynetworks = 127.0.0.0/8
smtpd_recipient_restrictions = permit_mynetworks,permit_sasl_authenticated,reject_unauth_destination 最终修改如下。
https://img-blog.csdnimg.cn/a91e332f64d846cabc26477fbc2fc1f0.png
末了新增的几行释义,请点击文章开头参考链接。
 查抄并启动postfix
# 检查
postfix check
# 启动
systemctl start postfix
# 开机自启动
systemctl enable postfix https://img-blog.csdnimg.cn/f8fd9f8e73cf43f39deb541af7ec3c76.png
        3.2 配置dovecot

vim /etc/dovecot/dovecot.conf
# 注释的解开注释,不要有重复项
protocols = imap pop3 lmtp
listen = *, ::

#以下内容添加到文件最后
!include conf.d/10-auth.conf

ssl = no
disable_plaintext_auth = no
mail_location = maildir:~/Maildir https://img-blog.csdnimg.cn/d3930334eb154e96ad5dfcd4f083bd63.png
# 启动dovecot
systemctl start dovecot
# 开机自启动
systemctl enable dovecot https://img-blog.csdnimg.cn/5de619b73721485bb2578d58d0d99733.png
        3.3 配置cyrus-sasl

vim /etc/sasl2/smtpd.conf    #如果文件不存在,创建即可
pwcheck_method: saslauthd
mech_list: plain login
log_level:3 https://img-blog.csdnimg.cn/bfcdc5fcd67a4237993a86dd1c99d027.png
vim /etc/sysconfig/saslauthd MECH=shadow https://img-blog.csdnimg.cn/d5df0bd6a53e48458aa941cb0c9a24ad.png
# 启动 saslauthd
systemctl start saslauthd
# 开机自启动
systemctl enable saslauthd https://img-blog.csdnimg.cn/da908a0a2cd3489a81c0e6316bc8e659.png
四、测试

!!!紧张的:假如使用的ECS,请务必在安全组/网络ACL中开放25、110、143端口(TCP)。
https://img-blog.csdnimg.cn/ce4cf62ec7fb48e7914ea2874597107a.png
假如主机内也开启了防火墙(Linux firewalld),不想要关闭防火墙的情况下,使用以下下令开放端口。建议关闭防火墙测试。
# 添加防火墙规则,允许 25、110、143端口
firewall-cmd --permanent --zone=public --add-port=25/tcp
firewall-cmd --permanent --zone=public --add-port=110/tcp
firewall-cmd --permanent --zone=public --add-port=143/tcp
# 重载防火墙配置
firewall-cmd --reload
# 查看端口开放列表
firewall-cmd --list-ports https://img-blog.csdnimg.cn/77839a81052543739f99e310ef97cce5.png
1. 查看端口监听状态

# 查看端口监听状态 没有该命令使用 yum -y install net-tools
netstat -ntpl https://img-blog.csdnimg.cn/0dcce7c593be4ec394177e44f664bf69.png
2. 安装mailx下令测试

yum -y install mailx https://img-blog.csdnimg.cn/4483ec7f858b4aeca7009f738bc7acef.png
测试前,看一下域名是否剖析正常,用nslookup看一下。
# Windows上测试
nslookup mail.域名  https://img-blog.csdnimg.cn/d70db416797c4961b14bdcc574d0444d.png
mailx 测试
echo '在Centos上搭建邮件服务器成功啦!!!' | mail -s '通知!' xxx@qq.com https://img-blog.csdnimg.cn/5716fc943ac54b1ab893facdea4be69b.png
https://img-blog.csdnimg.cn/aedeaf3d7f14486facee3495d8c7cf3c.png
如发现没有收到邮件,可以查看日记。(注意QQ邮箱是否设置反垃圾等)
tail -f /var/log/maillog https://img-blog.csdnimg.cn/4955c310e4e845ad8da4e7038cd9cdf3.png
五、创建用户,登录自建的邮件服务器

1. 添加用户

useradd mailuser
# 123456
passwd mailuser https://img-blog.csdnimg.cn/65c59d4795994b17bf5c4d1eaab14f25.png
2. 安装 cyrus-sasl-plain (不安装大概导致无法发信)

参考:no SASL authentication mechanisms-CSDN博客
yum install cyrus-sasl-plain testsaslauthd -u mailuser -p '123456' 3. 在foxmail上添加自建的邮箱

点击【其他邮箱】
https://img-blog.csdnimg.cn/f3e0fae8a60141139b692c6d42ff97e4.png
点击【手动设置】
https://img-blog.csdnimg.cn/ac957bcb57ea4fa784af8eed063e27e5.png
- 接收服务器类型:POP3
- 邮件账号:用户名@域名
- 暗码:刚刚设置的123456
- POP/SMTP 服务器:mail.域名
- 勾选 “如服务器支持,用STARTTLS加密传输”
https://img-blog.csdnimg.cn/147215cb42d24d21a8f5239792930bc0.png
设置成功!
 https://img-blog.csdnimg.cn/41a07bfdb8e94e878f9f0bd5b5b02442.png
4. 使用foxmail发信/收信

        4.1 发信给其他邮箱

https://img-blog.csdnimg.cn/c7c440da000e4119a44465187a512239.png
效果
https://img-blog.csdnimg.cn/945cd403a2cb4718a948256f48c0a7c9.png
        4.2 其他邮箱发信给自建邮件服务器(发信过程略)

https://img-blog.csdnimg.cn/de7314ee2efd4885b3b774f24846e8a6.png
结语 

花了几天时间,正好工作中有这个需求,搭建个自己邮件服务器,感觉照旧挺好玩的(当QQ邮箱收到消息的那一刻)。
很多时间,难的并不是技能,而是各个软件版本之间的迭代,造成的配置文件翻新式的修改,以及版本的依靠问题。大概运维工程师要做的,就是和谐好版本之间的关系吧,能跑起来的,就不要去动它(手动狗头保命)。
至此,自建邮件服务器搭建完成。有问题欢迎留言。
渴望可以帮到你!

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: 【服务端】CentOS Linux 7 搭建邮件服务器