- - PR -
procmailで添付ファイルを削除
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2005-04-13 09:46
みなさんこんにちは、SHINと申します。
現在、procmailを用いて、 受信したメールから添付ファイルを 削除するという動作を行いたいのですが、 うまく動作させることができずに困っております。 本当に行いたい動作の詳細としましては、 特定のアカウントに届いたメールの中に、 添付ファイルがあった場合、添付ファイルのみを削除して 本文は残すというものです。 しかし、現在の動作としましては、 特定のアカウントに届いたメールに 指定した拡張子(.txtと.exe)のついた添付ファイルがあれば メールを丸ごと削除するというものです。 ちなみに以下がprocmailで使用しています.procmailrcファイルの中身です。 PATH=/bin:/usr/bin:/usr/sbin LOGFILE=$HOME/procmail.log LOCKFILE=$HOME/.lockfile MAILDIR=$HOME/ :0H * ^Content-Type: .*multipart { :0B: * ^ name=.*(\.txt|\.exe) /dev/null } :0H * ^Content-Type: .*multipart { :0B: * ^Content-Type: .* name=.*(\.txt|\.exe) /dev/null } /dev/null部分でメールを削除してしまっているので、 この部分の処理を変更すればよいのではと思っております。 ご存知の方がいらっしゃいましたらご回答よろしくお願いいたします。 |
|
投稿日時: 2005-04-13 12:41
メールのbodyから該当する添付ファイルの部分を削って、
その上で multi-part MIME の情報に矛盾が生じないように 修正を加えてメール(bodyおよびheader)を組み立てなおせば よいわけですが... どの程度のことが求められているかによりますが、 深い階層構造になっている場合でも確実に処理する、とかやろうと するとかなり面倒です。 「対象とするMUAで目立ったエラーを発生させない」くらいであれば、 メールをちょんぎってくっつけ直す、だけでもよいかな? [ メッセージ編集済み 編集者: ぽんす 編集日時 2005-04-13 12:47 ] |
|
投稿日時: 2005-04-13 18:53
ぽんすさん、ご回答ありがとうございます。
>「対象とするMUAで目立ったエラーを発生させない」くらいであれば、 >メールをちょんぎってくっつけ直す、だけでもよいかな? この処理はprocmailで可能なのでしょうか? |
|
投稿日時: 2005-04-13 21:06
procmailだけでは困難なので、procmailから外部のプログラムを
呼び出してその中で処理するようにします。 |
1