| 導購 | 订阅 | 在线投稿
分享
 
 
 

如何在postfix隊列裏刪除以特定字符開頭的郵件?

來源:互聯網  2008-05-31 00:03:31  評論

作爲Postfix MTA的管理員,維護隊列是家常便飯,但如何能夠方便的按自己的意願控制對列呢?這需要一點perl和regexp的知識。

以下提供一個perl的小程序,由一個國外朋友寫的,通過命令行傳遞正則表達式,匹配的郵件將被刪除。

queue_mgr.pl

#!/usr/bin/perl$REGEXP = shift || die "no email-adress given (regexp-style, e.g. bl.*\@yahoo.com)!";@data = qx-p; for (@data) { if (/^(\w+)\*?\s/) { $queue_id = $1; } if($queue_id) { if (/$REGEXP/i) { $Q{$queue_id} = 1; $queue_id = ""; } } } open(POSTSUPER,"| postsuper -d -") || die "couldn't open postsuper" ; foreach (keys %Q) { print POSTSUPER "$_\n"; }; close(POSTSUPER);

作爲Postfix MTA的管理員,維護隊列是家常便飯,但如何能夠方便的按自己的意願控制對列呢?這需要一點perl和regexp的知識。 以下提供一個perl的小程序,由一個國外朋友寫的,通過命令行傳遞正則表達式,匹配的郵件將被刪除。 queue_mgr.pl #!/usr/bin/perl$REGEXP = shift || die "no email-adress given (regexp-style, e.g. bl.*\@yahoo.com)!";@data = qx-p; for (@data) { if (/^(\w+)\*?\s/) { $queue_id = $1; } if($queue_id) { if (/$REGEXP/i) { $Q{$queue_id} = 1; $queue_id = ""; } } } open(POSTSUPER,"| postsuper -d -") || die "couldn't open postsuper" ; foreach (keys %Q) { print POSTSUPER "$_\n"; }; close(POSTSUPER);
󰈣󰈤
 
 
 
>>返回首頁<<
 
 
 
 
 熱帖排行
 
王朝網路微信公眾號
微信掃碼關註本站公眾號 wangchaonetcn
 
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有