Postfix 體系架構概述

2021-08-23 13:56:45 字數 2073 閱讀 1813

refer:

當一封郵件進入postfix郵件系統後,首先被放入incoming queue(入口佇列). 下圖體現了處理一封新郵件涉及的主要程序和順序。 帶數字的名稱代表postfix的命令或服務程式,不帶數字的名稱代表postfix的郵件佇列。

trivial-

rewrite(8)

網路->

smtpd(8)^|

|v \ 網路

->

qmqpd(8)

->

cleanup(8)

->

incoming

/ pickup(8)

<-

maildrop ^|

本機->

sendmail(1)

->

postdrop(1)

一封郵件一旦到達incoming queue佇列,下一步就是進行投遞。下圖簡要表示了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

前面兩節已經對postfix服務程式如何處理傳送和接收郵件,這些伺服器程序都需要依賴那些在後台工作的伺服器程序。下面我們將討論每個服務在它自己的環境中如何工作。帶數字的名稱代表postfix的命令或服務程式,不帶數字的名稱代表postfix的郵件佇列。

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 連線池。管理緩衝使用者連線,執...