qmail+vpopmailで、受信したメールの添付ファイルを削除し、携帯などに転送する方法

メールの受信形態が多種多様になり、携帯電話へ仕事のメールを転送する、ということも多くなりました。
しかし、添付ファイルが付いているメールを転送した場合、携帯電話ではサイズオーバーで受信できず、送信者へエラーメッセージが返るケースがあります。送信者が詳しい方ならまだしも、全くの素人であれば英文のエラーメッセージに焦るケースもあります。

365441947_7ac98f49a8そこで転送するメールアドレスに対してのみ、添付ファイルを削除して、本文のみを転送する、という処理を施してみました。
非常に大変でしたので、同じように悩んでいる方がいらっしゃれば参考に。
前提:
当方メールサーバはqmailです。vpopmailが入っております。その他のMTAでは動作確認しておりません。
また、awkが必要です。
1.w-filterをダウンロードしてくる
要するに、ほぼこれに頼ってます。
添付ファイル除去(削除)フィルタ(w-filter)の概要
こちらよりダウンロードして下さい。
ダウンロードしてきたスクリプトはサーバ上の適当な場所へアップして下さい。
当方は/usr/local/binへアップしております。
2.シェルスクリプトを書く
次のようなシェルスクリプトを書きました。
[bash]#!/bin/sh
#
/usr/local/bin/w-filter | /var/qmail/bin/qmail-inject 転送先メールアドレス
#
[/bash]
転送先メールアドレスが複数ある場合、半角スペースを空けて羅列して下さい。
今回、シェルスクリプトの名前は”filter.sh”としておきます。
3.”.qmail”へ記述
当方はqmailなので”.qmail”ファイルへ記述します。
[bash]
| /home/vpopmail/domains/~/ユーザ名/filter.sh
/home/vpopmail/domains/~/ユーザ名/Maildir/
[/bash]
1行目は2.で記述したシェルスクリプトの位置を指定します。
2行目は届いたメールを放り込みたいメールディレクトリを指定します。
※ここの記述は環境によって大きく異なります。
 一般的なsendmailなどであれば”.forward”へ記述することになるかと思います。
もちろん、新たに作成したスクリプト類はパーミッションなりユーザ/グループなりを変更する必要があります。
[tmkm-amazon]4756140017[/tmkm-amazon]

Share this post