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

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

365441947_7ac98f49a8そこで転送するメールアドレスに対してのみ、添付ファイルを削除して、本文のみを転送する、という処理を施してみました。
非常に大変でしたので、同じように悩んでいる方がいらっしゃれば参考に。

前提:
当方メールサーバはqmailです。vpopmailが入っております。その他のMTAでは動作確認しておりません。
また、awkが必要です。

1.w-filterをダウンロードしてくる
要するに、ほぼこれに頼ってます。
添付ファイル除去(削除)フィルタ(w-filter)の概要
こちらよりダウンロードして下さい。
ダウンロードしてきたスクリプトはサーバ上の適当な場所へアップして下さい。
当方は/usr/local/binへアップしております。

2.シェルスクリプトを書く
次のようなシェルスクリプトを書きました。

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

転送先メールアドレスが複数ある場合、半角スペースを空けて羅列して下さい。
今回、シェルスクリプトの名前は”filter.sh”としておきます。

3.”.qmail”へ記述
当方はqmailなので”.qmail”ファイルへ記述します。

| /home/vpopmail/domains/~/ユーザ名/filter.sh
/home/vpopmail/domains/~/ユーザ名/Maildir/

1行目は2.で記述したシェルスクリプトの位置を指定します。
2行目は届いたメールを放り込みたいメールディレクトリを指定します。
※ここの記述は環境によって大きく異なります。
 一般的なsendmailなどであれば”.forward”へ記述することになるかと思います。

もちろん、新たに作成したスクリプト類はパーミッションなりユーザ/グループなりを変更する必要があります。

[401] [401] Client error: `POST https://webservices.amazon.co.jp/paapi5/getitems` resulted in a `401 Unauthorized` response: {"__type":"com.amazon.paapi5#UnrecognizedClientException","Errors":[{"Code":"UnrecognizedClient","Message":"The Access K (truncated...)

Leave a comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

Webサイトのこと、WordPressのこと、何でもお問い合わせ下さい