これを, 普段メインで使っている Mutt でもできたらいいなと思って, 設定してみた. 送信時に, 自前で用意したスクリプトを呼び出し, その中で, 30秒の遅延をいれる. 30秒以内にそのスクリプトを殺せば, 配送をキャンセルできる.
まず, 以下のスクリプト
.mutt/delay.sendmail
を用意する.
(hoge@*
のところで, 自分あてかどうかを判別する. 自分あてならすぐに配送する.)
#! /bin/bash tmp=$(mktemp) recpt_d=() recpt_m=() flags=() rrr='' cat >$tmp while (($# > 0)); do case "$1$rrr" in -f) flags=("${flags[@]}" "$1" "$2") shift 2 ;; --) rrr='--' shift ;; *) case "$1" in hoge@*) recpt_m=("${recpt_m[@]}" "$1") ;; *) recpt_d=("${recpt_d[@]}" "$1") ;; esac shift ;; esac done if (( ${#recpt_m[@]} > 0)); then /usr/sbin/sendmail "${flags[@]}" "${recpt_m[@]}" <$tmp fi if (( ${#recpt_d[@]} > 0)); then (sleep 30 && /usr/sbin/sendmail "${flags[@]}" "${recpt_d[@]}" <$tmp ; rm $tmp) & else rm $tmp fiそして,
.muttrc
に以下の設定を書く.
set sendmail="$HOME/.mutt/delay.sendmail"送信を取り消したいときは, 以下のコマンドを30秒以内に.
killall delay.sendmail
0 件のコメント:
コメントを投稿