1. 程式人生 > >Postfix常用命令和郵件佇列管理(queue)

Postfix常用命令和郵件佇列管理(queue)

本文主要介紹一下postfix的常用命令及郵件佇列的管理:

Postfix有以下四種郵件佇列,均由管理佇列的程序統一進行管理:

maildrop:本地郵件放置在maildrop中,同時也被拷貝到incoming中。
incoming:放置正在到達佇列或管理程序尚未發現的郵件。
active:放置佇列管理程序已經打開了並正準備投遞的郵件,該佇列有長度的限制。
deferred:放置不能被投遞的郵件。可能是推遲傳送的郵件

啟動postfix

/usr/sbin/postfix start

停止postfix

/usr/sbin/postfix stop

檢查postfix配置檔案

/usr/sbin/postfix check

顯示Postfix當前生效的配置資訊

postconf -n

重新讀取postfix配置檔案

/usr/sbin/postfix reload

檢視佇列中的郵件:

mailq
postqueue -p

檢視佇列大小

mailq | wc -l
postqueue -p | wc -l

檢視信件內容

postcat -q Queue_ID

強制傳送佇列中的郵件

/usr/sbin/postfix flush
postqueue -f

暫緩傳送佇列中的問題郵件

postsuper -h Queue_ID
postsuper -h ALL deferred

解除暫緩傳送的郵件

postsuper -H Queue_ID
postsuper -H ALL deferred

重新加入佇列:

postsuper -r Queue_ID
postsuper -r ALL

刪除指定郵件

postsuper -d Queue_ID

清空佇列中的郵件

postsuper -d ALL

# 刪除佇列中有問題的郵件(正在deferred列表中的郵件,直接刪除郵件檔案,可看出哪些信被刪除了 ):

postsuper -d ALL deferred
find /var/spool/postfix/deferred -type f -exec rm -vf {} \;
# find /var/spool/postfix/defer -type f -exec rm -vf {} \;

列出所有問題郵件(目前所有無法傳送的郵件)

find /var/spool/postfix/deferred -type f -exec ls -l --time-style=+%Y-%m-%d_%H:%M:%S {} \;

刪除已經3天未發出的郵件

find /var/spool/postfix/deferred -type f -mtime +3 -exec rm -f {} \;

刪除超過5天的問題郵件的退信記錄(超過5天的 “defer” 列表中的退信)

find /var/spool/postfix/defer -type f -mtime +5 -exec rm -f {} \;

# 以下是一些相關的日誌

檢視系統日誌:

tail -f /var/log/messages

檢視郵件日誌:基本很全面,幾乎所有遇到的郵件問題都可以通過該日誌來處理

tail -f /var/log/maillog

maildrop相關

tail -f /var/log/maildrop.log

clamd相關:

tail -f /var/log/clamav/clamd.log
tail -f /var/log/clamav/freshclam.log

# 完畢,呵呵呵