2007年5月29日火曜日

メールの添付ファイルを削除して転送

※前のblogから記事を移動。元の公開日:2007/05/29(火) 22:40:21

---

自分宛のメールは携帯に転送してbiffの代わりにしているのだが、これに頼り切っているので何らかの拍子に転送漏れしたりするとひどいときは丸一日以上着信に気づけなかったりして困る。転送漏れの理由はたいてい添付ファイルが大きすぎて携帯の方のメールサーバで蹴られてしまったせいなので、メールのサイズがある程度より大きかったら添付ファイルを削除するようにした。

環境はこんな感じ。

受信 → postfix → maildrop → ISPのsmtp → 携帯
maildropでフィルタをかませて添付ファイルを削除する。
添付ファイル除去用のフィルタはここからもらってきた。

添付ファイル除去フィルタ(w-filter)
http://www.gomibako.com/w-filter/

消した後にちゃんと xxx という添付ファイルがついてました的なメモが残ってくれるのでありがたい。
.mailfilterの記述はこんな感じ。

MAILDIR=$HOME/Maildir
CELLULAR_PHONE="myname@career.example.com"
ATTACH_FILTER="$MAILDIR/w-filter.sh"
ATTACH_LIMIT_SIZE=500000
if ( $SIZE > $ATTACH_LIMIT_SIZE )
{
cc $MAILDIR/
xfilter "$ATTACH_FILTER"
to "!$CELLULAR_PHONE"
}
  • 携帯のメールサーバ的には3Mくらいまでは受け取ってくれるみたいだけど数百K程度でPCドキュメントビューアが開いてくれなくなるので制限は500Kにした。
  • xfilterの引数はダブルクォートで囲まないとエラーになる。
  • .mailfilterの記述にエラーがあった場合/var/log/mail.logあたりに行番号とともに出力される。

0 件のコメント: