Home » サーバ

メールの添付ファイルを削除して転送する方法・改訂版

2009年 12月 15日 1,388 views No Comment


前記事:メールの添付ファイルを削除して転送する方法

上記の記事でw-filterというawkスクリプトを使った添付ファイルの削除方法を記載した。
しかし、当方サーバではどうも負荷が高いようで、このスクリプトがさかんに動作しているとメールの遅配が発生するようになってしまった。
最初は「まあ仕方がない」と思っていたが、仕方がないでは済まないくらい遅れるようになってきたため、マジで忙しい合間を縫って、スクリプトの変更を行ってみた。

今回導入したスクリプトはこちら。
添付ファイルを削除してメール転送 for Linux

【導入手順】
1.上記スクリプトをコピーしてテキストエディタ辺りに貼り付ける。
2.一部だけ修正。

sub mail_forward()関数の下記をコメントアウト。
# open(OUT,”| $sendmail $forwardto”) || die “Cannnot open $sendmail”;
# open(STDOUT);
# close(OUT);
コメントアウトした直後に下記を追加。
print $headers;
print “\n”;
print $honbun;

要約すると、qmail-を使いたいので、/usr/lib/sendmailへメールの内容を引き渡していた部分を削除し、標準出力へ出力するように修正。
3.適当な名前で保存し、サーバに転送。
4.実行権限を付加

#chmod 755 ファイル名

5.次の内容でシェルスクリプトを作成

#!/bin/sh
#
/usr/local/bin/filt.pl | /var/qmail/bin/qmail-inject 転送先メールアドレス

適当な名称で保存( ここでは”filt.sh”で保存したことにする )。
複数箇所に転送したい場合は半角スペースで区切る。
6.保存したシェルスクリプトを”.qmail”で呼び出す

| /home/vpopmail/domains/〜/メールアカウント名/filt.sh
/home/vpopmail/domains/〜/メールアカウント名/Maildir/

これで設定した転送先メールアドレスへ添付ファイルを削除したメールが届くようになる。

今まで数週間運用しているが、この設定に変更してからは以前起きていたようなメールの遅配などが発生していない。

ブログランキング・にほんブログ村へ
関連記事:
    None Found
このエントリをはてなブックマークに登録このエントリをBuzzurlにブックマークYahoo!ブックマークに登録Yahoo!ブックマークに登録このエントリをlivedoorクリップに登録 このエントリをnewsing it!へ追加
1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Loading ... Loading ...

コメントをお願いします!

残していただいたコメントや トラックバック は、RSS で配信されます.

スパムコメントや誹謗中傷、トピックスに関係がないコメントは削除する場合があります。

コメント内で使えるHTMLタグ:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <img localsrc="" alt="">

このブログでは「Gravatar」が使えます。 あなた自身のアバターを使いたいなら、Gravatarでアバターを登録して下さい。