refer:
當一封郵件進入postfix郵件系統後,首先被放入incoming queue(入口佇列). 下圖體現了處理一封新郵件涉及的主要程序和順序。 帶數字的名稱代表postfix的命令或服務程式,不帶數字的名稱代表postfix的郵件佇列。
一封郵件一旦到達incoming queue佇列,下一步就是進行投遞。下圖簡要表示了postfix投遞器的主要元件。 帶數字的名稱代表postfix的命令或服務程式,不帶數字的名稱代表postfix的郵件佇列。trivial-
rewrite(8)
網路->
smtpd(8)^|
|v \ 網路
->
qmqpd(8)
->
cleanup(8)
->
incoming
/ pickup(8)
<-
maildrop ^|
本機->
sendmail(1)
->
postdrop(1)
前面兩節已經對postfix服務程式如何處理傳送和接收郵件,這些伺服器程序都需要依賴那些在後台工作的伺服器程序。下面我們將討論每個服務在它自己的環境中如何工作。帶數字的名稱代表postfix的命令或服務程式,不帶數字的名稱代表postfix的郵件佇列。trivial-
rewrite(8)
smtp(8)
->
network / ^
| |v -
lmtp(8)
->
network
/ incoming
->
active
->
qmgr(8)
---
local(8)
->
file, command ^|
|v \ -
virtual(8)
->
file
deferred
\ pipe(8)
->
command
tsl的支援在postfix 2.2 以後的版本中已經加入,關於postfix tsl的實現請參考:tls_readme 文件。
network->
smtpd(8)
? <---seed---
<-session->
tlsmgr(8)
? ---seed--->
<-session->
smtp(8)
? ->network
/ / ||
\ \
smtpd
session
cache
prng
state
file
smtp
session
cache
verify(8)服務在smtpd(8)服務接受一封郵件前交驗它的傳送者(sender)和接受收者位址是否存在(可用的)。 verify(8)服務通過從投遞**或者佇列管理器往postfix 佇列傳送訊息來校驗使用者是否可用。關於該程式的描述,請參:address_verification_readme 文件。該服務在postfix 2.1 之後的版本中加入。
network
->
smtpd(8)
<->
verify(8)
->
cleanup(8)
->
qmgr(8)
postfix
queue
->
delivery
agents
\ \
<-
<- |v
/ /
我們將以postfix郵件系統的常用命令擇要來結束該文件。除了sendmail的相容命令sendmail(1), mailq(1), 和 newaliases(1) 外,postfix系統有自己的工具命令集,下面將列出所有以post開頭的命令:
基礎架構及中介軟體體系概述
基礎架構及中介軟體體系概述 許進沉思錄 專注於網際網路與中介軟體基礎架構技術研究 2016 11 06 中介軟體許進 基礎架構 這些技術解決方案包括 統一的服務化框架體系 例如 dubbo,spring cloud等 spring cloud zuul,包括目前自研的janus閘道器 例如 spri...
Oracle體系架構
oracle資料庫由兩個實體組成 1 例項 2 資料庫 例項 例項由儲存結構和程序組成,短暫存在於ram和cpu 因此例項的生存時間其在記憶體的時間,我們可以啟動和停止例項。資料庫 資料庫分為物理結構和邏輯結構。物理結構 物理結構就是磁碟上的物理檔案 包括三類檔案 控制檔案 control file...
MySQL架構體系
了解mysql必須牢牢記住其體系結構圖,mysql是由sql介面,解析器,優化器,快取,儲存引擎組成的 connectors指的是不同語言中與sql的互動 management serveices utilities 系統管理和控制工具 connection pool 連線池。管理緩衝使用者連線,執...