メッセージIDを抽出して強制送信するBashスクリプト

メッセージIDを抽出して強制送信するBashスクリプト

私の手を握った。

#!/bin/bash

######### Edit here ##########

[email protected] # Set this to your email id to receive alerts on mail queue
_limit=100 # Set the limit here

##############################

clear;
_result="/tmp/eximqueue.txt"
_queue="`exim -bpc`"

if [ "$_queue" -ge "$_limit" ]; then
echo "Current queue is: $_queue" > $_result
echo "Summary of Mail queue" >> $_result
echo "`exim -bp | exiqsumm`" >> $_result
mail -s "Number of mails on `hostname` : $_queue" $_mail_user < $_result
cat $_result
fi

rm -f $_result

奇跡的に動作します。今私よりも少し進化した人に質問があります。キューがすでにスパムでいっぱいであると仮定すると、上記のメッセージはキューの後ろにあります。したがって、このメッセージが他のものよりも前に送信されるように強制したいと思います。私の理解によれば、次のようにメッセージを強制的に転送できます。

/usr/sbin/exim  -M  email-id

ここにいる人のうち、スクリプトメール機能から電子メールIDを抽出し、それを使用して上記のコマンドを実行する方法を知っていますか?おおよそ次のようになります。

_message_id = "'exiqgrep -f root@hostname'"
/usr/sbin/exim  -M  "$_message_id"

ベストアンサー1

努力する

exiqgrep -f 'root@hostname' -i | xargs exim -M

より強力なツールを見ることもできますexipick

おすすめ記事