The Will Will Web

記載著 Will 在網路世界的學習心得與技術分享

將 Postfix 伺服器中所有的郵件移至另一台主機發送的方式

之前在管理 Postfix 時,因為設定 Smart Relay 時出錯,導致在伺服器中累積了許多郵件,所以信件都發不出去,但是修改設定後重新啟動 Postfix 卻都無法將郵件重新啟動,仔細研究後才發現原來這些放置在 Queue 裡面的信件都保有當初 Relay 的狀態,必須要重新排 Queue 才能套用新的 Relay 設定。

之前在 如何刪除 Postfix 中所有還沒發送的郵件 文章中有提到過 postsuper 指令,這個指令的 -r 參數就是用來執行重新排 Queue 用的。

如果你要套用其中一筆 Queue 中的郵件,可以先用 mailqpostqueue 指令查詢出或篩選出你要重新排 Queue 的郵件 ID,並使用以下指令重新排 Queue:

postsuper -r 7B8CE830BD

若要套用「所有」郵件,可以使用特殊的 ALL 關鍵字:

postsuper -r ALL

如果想將本機的郵件全部轉到另一台發信,就可��利用此技巧達成目的!