您好,登錄后才能下訂單哦!
小編給大家分享一下Postfix對郵件如何處理,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
一. 接收郵件的過程
當postfix接收到一封新郵件時,新郵件***在incoming隊列處停留,然后針對不同的情況進行不同的處理:
1.對于來自于本地的郵件:sendmail進程負責接收來自本地的郵件放在maildrop隊列中,然后pickup進程對maildrop中的郵件進行完整性檢測。maildrop目錄的權限必須設置為某一用戶不能刪除其他用戶的郵件。
2.對于來自于網絡的郵件:smtpd進程負責接收來自于網絡的郵件,并且進行安全性檢測。可以通過UCE(unsolicited commercial email)控制smtpd的行為。
3.由postfix進程產生的郵件:這是為了將不可投遞的信息返回給發件人。這些郵件是由bounce后臺程序產生的。
5. 由postfix自己產生的郵件:提示postmaster(也即postfix管理員)postfix運行過程中出現的問題。(如SMTP協議問題,違反UCE規則的記錄等等。)
關于cleanup后臺程序的說明:cleanup是對新郵件進行處理的***一道工序,它對新郵件進行以下的處理:添加信頭中丟失的Form信息;為將地址重寫成標準的user@fully.qualified.domain格式進行排列;重信頭中抽出收件人的地址;將郵件投入incoming隊列中,并請求郵件隊列管理進程處理該郵件;請求trivial-rewrite進程將地址轉換成標準的user@fully.qualified.domain格式。
二. 投遞郵件的過程
新郵件一旦到達incoming隊列,下一步就是開始投遞郵件,postfix投遞郵件時的處理過程如圖三所示。相關的說明如下:
郵件隊列管理進程是整個postfix郵件系統的心臟。它和local、smtp、pipe等投遞代理相聯系,將包含有隊列文件路徑信息、郵件發件人地址、郵件收件人地址的投遞請求發送給投遞代理。隊列管理進程維護著一個deferred隊列,那些無法投遞的郵件被投遞到該隊列中。除此之外,隊列管理進程還維護著一個active隊列,該隊列中的郵件數目是有限制的,這是為了防止在負載太大時內存溢出。郵件隊列管理程序還負責將收件人地址在relocated表中列出的郵件返回給發件人,該表包含無效的收件人地址。
如果郵件隊列管理進程請求,rewrite后臺程序對收件人地址進行解析。但是缺省地,rewrite只對郵件收件人是本地的還是遠程的進行區別。
如果郵件對你管理進程請求,bounce后臺程序可以生成一個郵件不可投遞的報告。
本地投遞代理local進程可以理解類似UNIX風格的郵箱,sendmail風格的系統別名數據庫和sendmail風格的.forward文件。可以同時運行多個local進程,但是對同一個用戶的并發投遞進程數目是有限制的。你可以配置local將郵件投遞到用戶的宿主目錄,也可以配置local將郵件發送給一個外部命令,如流行的本地投遞代理procmail。在流行的linux發行版本RedHat中,我們就使用procmail作為最終的本地投遞代理。
遠程投遞代理SMTP進程根據收件人地址查詢一個SMTP服務器列表,按照順序連接每一個SMTP服務器,根據性能對該表進行排序。在系統負載太大時,可以有數個并發的SMTP進程同時運行。
pipe是postfix調用外部命令處理郵件的機制.
以上是“Postfix對郵件如何處理”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。