- PR -

procmailで添付ファイルを削除

1
投稿者投稿内容
SHIN
会議室デビュー日: 2004/03/31
投稿数: 7
投稿日時: 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部分でメールを削除してしまっているので、
この部分の処理を変更すればよいのではと思っております。

ご存知の方がいらっしゃいましたらご回答よろしくお願いいたします。
ぽんす
ぬし
会議室デビュー日: 2003/05/21
投稿数: 1023
投稿日時: 2005-04-13 12:41
メールのbodyから該当する添付ファイルの部分を削って、
その上で multi-part MIME の情報に矛盾が生じないように
修正を加えてメール(bodyおよびheader)を組み立てなおせば
よいわけですが...

どの程度のことが求められているかによりますが、
深い階層構造になっている場合でも確実に処理する、とかやろうと
するとかなり面倒です。

「対象とするMUAで目立ったエラーを発生させない」くらいであれば、
メールをちょんぎってくっつけ直す、だけでもよいかな?

[ メッセージ編集済み 編集者: ぽんす 編集日時 2005-04-13 12:47 ]
SHIN
会議室デビュー日: 2004/03/31
投稿数: 7
投稿日時: 2005-04-13 18:53
ぽんすさん、ご回答ありがとうございます。

>「対象とするMUAで目立ったエラーを発生させない」くらいであれば、
>メールをちょんぎってくっつけ直す、だけでもよいかな?

この処理はprocmailで可能なのでしょうか?
ぽんす
ぬし
会議室デビュー日: 2003/05/21
投稿数: 1023
投稿日時: 2005-04-13 21:06
procmailだけでは困難なので、procmailから外部のプログラムを
呼び出してその中で処理するようにします。
1

スキルアップ/キャリアアップ(JOB@IT)