Glide Note

glidenote's blog

重要なメールが届いたらIRCにメールの件名を通知するようにした

自分がTO,CC,BCCに入ってたり、本文に自分の名前が入ってるメールはちゃんとメーラで振り分けしてチェックしているんですが、 自分が参加しているML宛てに重要なメールが届いたときにを見逃してしまう事が多い。

IRCは基本的に常時起動していて、キーワードには反応するようにしているので、参加しているML宛てにメールが届いたらメールのsubjectをIRCに通知して気づけるようにした。

これをやる前置きとして、弊社ではIkachanが導入されてるので、 curl叩けばIRC通知されるようになっており、IRCへの通知は大変手軽に出来るようになってる。

仕組み

  • サーバ上でfetchmailをcronで回して、メールを定期受信
  • procmailで条件に一致する場合を判定し、コマンド(curl)を叩いてIRCに通知する

たとえば、特定の人(From)からメールが届いたらIRCに通知するよう場合の .procmailrcの内容は下記のような感じ

1
2
3
4
5
6
7
8
9
10
11
12
13
SUBJECT=`formail -c -xSubject:`
IRC_POST_SUBJECT=`echo $SUBJECT | nkf -w`

:0
* ^(From).*hogemoge@ml.hogemoge.com
{

  :0 c
  | /usr/bin/curl -F channel='#maeda_test' http://ikachan.hogemoge.com:4979/privmsg -F message="メールが届いてるよ!  件名:${IRC_POST_SUBJECT}"

  :0
  ~/Maildir/
}

「2014年にfetchmailとかprocmailなんて…」という感じかもしれないけど、 軽量だし、技術的には枯れてて非常に安定しているので、こういうことをやるのには適してると思う。

Comments