Home | 簡體中文 | 繁體中文 | 雜文 | 打賞(Donations) | OSChina 博客 | Facebook | Linkedin | 知乎專欄 | Search | About

63.2. 配置 Postfix

63.2.1. 轉發配置

修改配置檔案

vim /etc/postfix/main.cf

inet_interfaces = all

mydestination = 

mydomain = example.com

myhostname = mail.example.com

mynetworks = 0.0.0.0/0

mynetworks_style = subnet

smtpd_reject_unlisted_recipient = no

transport_maps = hash:/etc/postfix/transport
			

轉發配置,設置域名和地址的關係:

vim transport:

your.com relay: [10.10.0.1]		
			

生成相應的db檔案

postmap transport		
			

例如當收件人為users@your.com時,postfix會將郵件轉發到指定的伺服器

63.2.2. 拒收垃圾郵件

編輯/etc/postfix/main.cf檔案,在檔案中添加下面一行文字,你可以把它插入到檔案末尾。

sudo vim /etc/postfix/main.cf

smtpd_recipient_restrictions = check_sender_access hash:/etc/postfix/check_sender_access
			

然後在/etc/postfix/目錄下創建一個check_sender_access檔案,內容如下

example.com            REJECT
your.com              OK

.example.com            REJECT
.your.com              OK

user@example.com      REJECT
			

將域名的特定郵箱地址添加到黑名單,也可以將某個二級域名添加到黑名單或白名單,只要在域名前面加上一個小數點就行了。郵箱與域名後面輸入OK表示將這個域名添加到白名單,域名後面添加REJECT表示將這個域名添加到黑名單。

使用postmap命令創建/etc/postfix/sender_checks.db資料庫檔案

postmap /etc/postfix/check_sender_access
			

最後重新加載Postfix配置檔案

sudo /etc/init.d/postfix reload		
			

63.2.3. 收件箱配置

Postfix 提供三種收件箱,第一種是Mailbox,第二種是Maildir, 第三種是Unix風格的收件想/var/spool/mail

如你有POP/IMAP服務請使用Mailbox 或者 Maildir。否則僅僅是在 unix上閲讀純文字檔案郵件可以使用/var/spool/mail

63.2.3.1. Mailbox 配置

home_mailbox = Mailbox
				

63.2.3.2. Maildir 配置

home_mailbox = Maildir/
				

63.2.3.3. 傳統Unix風格郵箱配置

mail_spool_directory = /var/mail
				
mail_spool_directory = /var/spool/mail
				

63.2.4. 郵件投遞

郵件投遞是指從你的Postfix伺服器將郵件投到目的地郵件伺服器,即 SMTP對SMTP,而非用戶到的SMTP配置。

配置主要涉及郵件投遞頻率,如果過高,會被退回也可能被封鎖一段時間。

* initial_destination_concurrency:到目標主機的初始化並發連接數。
* default_destination_concurrency_limit:初始化連接後對同一目標主機的最大並發連接數目。
* local_destination_concurrency_limit:控制對同一本地收件人的最大同時投遞的郵件數目。
			

預設值可以通過 $ postconf | grep local_destination_concurrency_limit 命令查看

initial_destination_concurrency = 5
default_destination_concurrency_limit = 20
local_destination_concurrency_limit = 2
			

63.2.5. 隊列配置

queue_run_delay 配置間隔多長時間重新發送一次deferred隊列的郵件

# postconf | grep queue_run_delay
queue_run_delay = 300s
			

deferred郵件隊列中的生存時間

# postconf | grep maximal_queue_lifetime
maximal_queue_lifetime = 5d
			

隊列尺寸

# postconf  | grep qmgr_
qmgr_clog_warn_time = 300s
qmgr_daemon_timeout = 1000s
qmgr_fudge_factor = 100
qmgr_ipc_timeout = 60s
qmgr_message_active_limit = 20000
qmgr_message_recipient_limit = 20000
qmgr_message_recipient_minimum = 10
			

63.2.6. 客戶端

smtpd_client_connection_count_limit 配置郵件客戶端連結數,例如 Outlook 用戶數量

# postconf | grep smtpd_client_connection_count_limit 
postscreen_client_connection_count_limit = $smtpd_client_connection_count_limit
smtpd_client_connection_count_limit = 50
			

控制接收郵件頻率

# postconf | grep smtpd_client_connection_rate_limit 
smtpd_client_connection_rate_limit = 0