postfix&dovecot搭建郵件服務器


郵件服務器搭建

前言

本篇參考

https://blog.51cto.com/5001660/2377785


一個電子郵件系統應具有的三個主要組成構件,這就是用戶代理郵件服務器 ,以及郵件發送協議(如SMTP)和郵件讀取協議(如POP3)。POP3是郵局協議 (Post Office Protocol)版本3

tQUvy4.jpg

用戶代理 UA(User Agent)就是用戶與電子郵件系統的接口,在大多數情況下它就是運行在用戶電腦中的一個程序。因此用戶代理又稱為電子郵件客戶端軟件 。用戶代理向用戶提供一個很友好的接口(目前主要是窗口界面)來發送和接收郵件。現在可供大家選擇的用戶代理有很多種。例如,微軟公司的Outlook Express和我國張小龍制作的Foxmail,都是很受歡迎的電子郵件用戶代理。

郵件傳輸過程

➊發件人調用計算機中的用戶代理撰寫和編輯要發送的郵件。

➋ 發件人點擊屏幕上的“發送郵件”按鈕,把發送郵件的工作全都交給用戶代理來完成。用戶代理把郵件用SMTP協議發給發送方郵件服務器,用戶代理充當SMTP客戶,而發送方郵件服務器充當SMTP服務器。用戶代理所進行的這些工作,用戶是看不到的。有的用戶代理可以讓用戶在屏幕上看見郵件發送的進度顯示。用戶所使用的郵件服務器究竟在什么地方,用戶並不知道,也不必要知道。實際上,用戶在把寫好的信件交付給用戶代理后,就什么都不用管了。

➌ SMTP服務器收到用戶代理發來的郵件后,就把郵件臨時存放在郵件緩存隊列中,等待發送到接收方的郵件服務器(等待時間的長短取決於郵件服務器的處理能力和隊列中待發送的信件的數量。但這種等待時間一般都遠遠大於分組在路由器中等待轉發的排隊時間)。

➍ 發送方郵件服務器的SMTP客戶與接收方郵件服務器的SMTP服務器建立TCP連接,然后就把郵件緩存隊列中的郵件依次發送出去。郵件不會在互聯網中的某個中間郵件服務器落地 。如果SMTP客戶還有一些郵件要發送到同一個郵件服務器,那么可以在原來已建立的TCP連接上重復發送。如果SMTP客戶無法和SMTP服務器建立TCP連接(例如,接收方服務器過負荷或出了故障),那么要發送的郵件就會繼續保存在發送方的郵件服務器中,並在稍后一段時間再進行新的嘗試。如果SMTP客戶超過了規定的時間還不能把郵件發送出去,那么發送郵件服務器就把這種情況通知用戶代理。

➎ 運行在接收方郵件服務器中的SMTP服務器進程收到郵件后,把郵件放入收件人的用戶郵箱中,等待收件人進行讀取。

➏ 收件人在打算收信時,就運行計算機中的用戶代理,使用POP3(或IMAP)協議讀取發送給自己的郵件。

以上摘錄於《計算機網絡》

郵件服務器的搭建

centos7下使用postfix+dovecot搭建郵件服務器(防火牆關閉,SELinux關閉下)


DNS服務器搭建

yum install bind bind-utils

查看是否安裝成功

[root@localhost ~]# rpm -qa|grep bind

tQULWT.png

編輯主配置文件

[root@localhost ~]# vim /etc/named.conf

tQUjlF.png

tQU7oq.png

新建區域配置文件,新建的文件名要與include包含的文件名一至,且權限一至

tQUbF0.png

編輯配置文件

tQUqYV.png

配置正向查找區域,配置文件/var/named/named.mail.com,復制后的權限必須一至

tQaSm9.png

tQapwR.png

配置反向查詢文件

tQaiY6.png

開啟服務

tQaFfK.png

如果報錯請檢查配置文件及權限

測試DNS

設置域名解析服務器為自己

tQaASO.png

tQaElD.png

搭建郵件服務器

配置服務器主機名稱,需要保證服務器主機名稱與發信域名保持一致

tQaV6e.png

重啟生效,記得重啟域名服務及關閉防火牆

postfix

介紹:postfix是Wietse Venema在IBM的GPL協議之下開發的MTA(郵件傳輸代理)軟件

安裝

yum install postfix

配置配置文件

vim /etc/postfix/main.cf

第83行,修改保存郵件的域名稱

tQaZOH.png

第99行,修改寄出郵件的域名稱

tQammd.png

第116、119行,修改定義的網卡監聽地址

tQan0A.png

第164行,修改定義的可接收郵件的主機名或域名列表

tQauTI.png

新建兩個用戶用於測試

tQaMkt.png

dovecot

介紹:dovecot是一款能夠為Linux系統提供IMAP和POP3電子郵件服務的開源軟件程序

yum install dovecot

編輯配置文件

vim /etc/dovecot/dovecot.conf

設置dovecot服務程序支持的電子郵件協議

允許用戶使用明文進行密碼驗證

tQaQtP.png

設置允許登錄的網段地址

tQa3p8.png

配置郵件格式和儲存路徑

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

tQa81S.png

開啟服務

[root@mail ~]# systemctl start postfix
[root@mail ~]# systemctl start dovecot

可以看到郵件的存放位置,這是未發郵件前

tQaG6g.png

發件測試

tQaJXQ.png

[root@mail mail]# telnet mail.com 25
Trying 127.0.0.1...
Connected to mail.com.
Escape character is '^]'.
220 mail.com ESMTP Postfix
helo mail.com             聲名本機
250 mail.com
mail from:user1@mail.com  聲明發件人
250 2.1.0 Ok
rcpt to:user2@mail.com     聲明收件人
250 2.1.5 Ok
data                       寫正文
354 End data with <CR><LF>.<CR><LF>
user1
.                           正文結束標記
250 2.0.0 Ok: queued as 12A27206C86E
quit                        退出
221 2.0.0 Bye
Connection closed by foreign host.

發件后,可以看到user2已經收到郵件

tQatmj.png

看一下內容

tQaN0s.png

也可以登錄查看郵件

tQaU7n.png

[root@mail mail]# telnet mail.com 110
Trying 127.0.0.1...
Connected to mail.com.
Escape character is '^]'.
+OK Dovecot ready.
user user2             用戶
+OK
pass 54321             密碼
+OK Logged in.
list                   列表查看郵件
+OK 1 messages:
1 380
.
retr 1                  讀取編號為1的郵件

遇到的問題

1、賬號密碼正確因權限問題被拒絕

報錯

-ERR [SYS/PERM] Permission denied
Connection closed by foreign host.

tQadkq.png

解決

[root@mail mail]# chmod 0600 /var/spool/mail/*

端口介紹

SMTP 簡單郵件傳輸協議 TCP 25端口 ,加密時使用TCP 456端口
POP3 第三版郵局協議  TCP  110端口 ,加密時使用955端口
IMAP4 第四版互聯網消息訪問協議 TCP 143端口 , 加密時使用993端口

防火牆開啟情況下允許端口通過

firewall-cmd  -add-port 25/tcp --permanent
firewall-cmd  -add-port 465/tcp --permanent
firewall-cmd  -add-port 110/tcp --permanen
firewall-cmd  -add-port 995/tcp --permanent
firewall-cmd  -add-port 143/tcp --permanent
firewall-cmd  -add-port 993/tcp --permanent
firewall-cmd  --reload 重啟防火牆 

SMTP相關命令

helo
客戶端為標識自己的身份而發送的命令(通常帶域名)
mail from
標識郵件的發件人;以 mail from: 的形式使用
rcpt to 
標識郵件的收件人;以 rcpt to: 的形式使用
data
客戶端發送的,用於啟動郵件內容傳輸的命令
turn
允許客戶端和服務器交換角色,並在相反的方向發送郵件,而不必建立新的連接


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM