參考:CentOS7搭建簡單的郵件服務器 - 秋夜雨巷 - 博客園 (cnblogs.com)
前言
在 CentOS7 中搭建郵件服務器,給QQ郵箱發(fā)郵件。簡單記錄一次搭建過程。
目錄
前言
一、基礎環(huán)境準備
二、配置域名解析
1. 登錄阿里云
三、安裝郵件服務
1. 登錄主機,配置yum源(配置阿里云yum源步驟略)
2. 安裝軟件
?3. 修改配置
?3.1?配置postfix
?3.2?配置dovecot
?3.3?配置cyrus-sasl
四、測試
1. 查看端口監(jiān)聽狀態(tài)
?2. 安裝mailx命令測試
五、創(chuàng)建用戶,登錄自建的郵件服務器
?1. 添加用戶
?2. 安裝?cyrus-sasl-plain?(不安裝可能導致無法發(fā)信)
?3. 在foxmail上添加自建的郵箱
?4. 使用foxmail發(fā)信/收信
4.1 發(fā)信給其他郵箱
4.2 其他郵箱發(fā)信給自建郵件服務器(發(fā)信過程略)
結語?
一、基礎環(huán)境準備
- 虛擬機/ECS:2C4G(配置任意,最低1C1G)
- 操作系統(tǒng):CentOS Linux 7.9 x86_64
- 公網IP:運營商分配公網IP/彈性公網IP/DDNS(本文暫不介紹DDNS)
- 域名:有一個域名就可以,這里用.top的(沒有域名可以去阿里云萬網買一個)
二、配置域名解析
1. 登錄阿里云
阿里云-計算,為了無法計算的價值 (aliyun.com)
搜索并進入 【云解析DNS】
選擇一個已有的域名,點擊 【解析設置】
點擊【添加記錄】
- 記錄類型:MX
- 主機記錄:@
- 記錄值:mail.域名
- MX優(yōu)先級: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
# 往外發(fā)郵件的郵件域
myorigin = $mydomain
#監(jiān)聽的網卡
inet_interfaces = all
inet_protocols = all
#服務的對象
mydestination = $myhostname,$mydomain
#郵件存放的目錄
home_mailbox = Maildir/
# 新添加以下配置
#--------自定義(下面可以復制粘貼到文件最后面,用于設置服務器驗為主,第一行設置發(fā)送附件大?。?#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
最終修改如下。
最后新增的幾行釋義,請點擊文章開頭參考鏈接。
?檢查并啟動postfix
# 檢查
postfix check
# 啟動
systemctl start postfix
# 開機自啟動
systemctl enable postfix
? ? ? ? 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
# 啟動dovecot
systemctl start dovecot
# 開機自啟動
systemctl enable dovecot
? ? ? ? 3.3?配置cyrus-sasl
vim /etc/sasl2/smtpd.conf #如果文件不存在,創(chuàng)建即可
pwcheck_method: saslauthd
mech_list: plain login
log_level:3
vim /etc/sysconfig/saslauthd
MECH=shadow
# 啟動 saslauthd
systemctl start saslauthd
# 開機自啟動
systemctl enable saslauthd
四、測試
?。?!重要的:如果使用的ECS,請務必在安全組/網絡ACL中開放25、110、143端口(TCP)。
如果主機內也開啟了防火墻(Linux firewalld),不想要關閉防火墻的情況下,使用以下命令開放端口。建議關閉防火墻測試。
# 添加防火墻規(guī)則,允許 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
1. 查看端口監(jiān)聽狀態(tài)
# 查看端口監(jiān)聽狀態(tài) 沒有該命令使用 yum -y install net-tools
netstat -ntpl
2. 安裝mailx命令測試
yum -y install mailx
測試前,看一下域名是否解析正常,用nslookup看一下。
# Windows上測試
nslookup mail.域名
?
mailx 測試
echo '在Centos上搭建郵件服務器成功啦?。?!' | mail -s '通知!' xxx@qq.com
如發(fā)現沒有收到郵件,可以查看日志。(注意QQ郵箱是否設置反垃圾等)
tail -f /var/log/maillog
五、創(chuàng)建用戶,登錄自建的郵件服務器
1. 添加用戶
useradd mailuser
# 123456
passwd mailuser
2. 安裝?cyrus-sasl-plain?(不安裝可能導致無法發(fā)信)
參考: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發(fā)信/收信
????????4.1 發(fā)信給其他郵箱
結果
????????4.2 其他郵箱發(fā)信給自建郵件服務器(發(fā)信過程略)
結語?
花了幾天時間,正好工作中有這個需求,搭建個自己郵件服務器,感覺還是挺好玩的(當QQ郵箱收到消息的那一刻)。
很多時候,難的并不是技術,而是各個軟件版本之間的迭代,造成的配置文件翻新式的修改,以及版本的依賴問題。可能運維工程師要做的,就是協(xié)調好版本之間的關系吧,能跑起來的,就不要去動它(手動狗頭保命)。
至此,自建郵件服務器搭建完成。有問題歡迎留言。文章來源:http://www.zghlxwxcb.cn/news/detail-813848.html
希望可以幫到你!文章來源地址http://www.zghlxwxcb.cn/news/detail-813848.html
到了這里,關于【服務端】CentOS Linux 7 搭建郵件服務器的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!