Index: [Article Count Order] [Thread]

Date:  Mon, 17 May 2004 17:39:42 +0900
From:  "ACS 浅井" <asai (at mark) acs-net.co.jp>
Subject:  [coba-o:00591] 「不在時自動応答メッセージ」に関して
To:  <coba-o (at mark) open.cobaltqube.org>
Message-Id:  <010a01c43bea$8322ab90$536511ac@NWCL83xp>
X-Mail-Count: 00591

皆様

はじめまして、浅井と申します。

これまでコバルトを愛用してきましたが、今後はブルークオーツの導入
(購入)を視野に置き、本MLを購読させて頂いております。
宜しくお願い致します。

最近、使用状況レポートが多く寄せられていますが、私からも1件報告
(というより要望)を出させて頂きます。
オリジナル版で対応いただけると幸いです。

当方では、個人メール設定内の「不在時自動応答メッセージ」の機能を
利用しておりますが、購入時の設定のままでは問題が生じるため、Perl
スクリプトを一部変更して使用しております。

<期待する利用方法>
                                          BQ「自動応答」
外部ユーザー                              設定ユーザー
     ┃                                        ┃
     ┃←───────────────────┃
     ┃                      (お知らせメ〜ル)┃
     ┃                                        ┃
     ┃└──────────────────→┃
     ┃(意見あり〜(返信))                    ┃
     ┃                                        ┃
     ┃←──────────────────┘┃
     ┃            (返信無効です〜(自動応答))┃
     ┃                                        ┃

<実際の問題動作>
                                          BQ「自動応答」
外部ユーザー                              設定ユーザー
     ┃                                        ┃
     ┃←───────────────────┃
     ┃                      (お知らせメ〜ル)┃
     ┃                                        ┃
     ┃└──────────────────→┃
     ┃(意見あり〜(返信))                    ┃
     ┃                                ┌──┘┃
     ┃                                │      ┃
     ┃                                └──→┃
     ┃                (返したい相手に返らず  ┃
     ┃                  自身で受信してしまう)┃

<原因(大雑把)>

自動応答メールは、対象(意見)メール内の「From:」で始まる相手に自動
応答する処理になっていますが、メッセージ内に「From:」で始まる行が
複数ある場合、最後の「From:」行が適用されるため、返信等を行なうこ
とにより引用文の中に「From:」で始まる行があると、その相手(お知ら
せメール送信者=自身)に自動応答してしまいます。


<対策>

以下通り、Perlスクリプトを変更して運用しています。
(ソースはCobaltもBQも同等です。)
要は、最後ではなく最初の「From:」で始まる相手に自動応答しようとし
ています。
何分素人なため、不備・問題等ございましたらどなたかご指摘いただける
と幸いです。

diff /usr/local/sbin/vacation.pl.org /usr/local/sbin/vacation.pl.edit

67,71c67,71
(変更前)
<     if    (/From:\s*(.+)/)        { $from = $1;       }
<     elsif (/Reply-To:\s*(.+)/)    { $replyto = $1;    }
<     elsif (/Sender:\s*(.+)/)      { $sender = $1;     }
<     elsif (/Return-path:\s*(.+)/) { $returnpath = $1; }
<     elsif (/Precedence:\s*(.+)/)  { $precedence = $1; }
---
(変更後)
>     if    (/From:\s*(.+)/)        { if ($from)      { next; } $from = $1;       }
>     elsif (/Reply-To:\s*(.+)/)    { if ($replyto)   { next; } $replyto = $1;    }
>     elsif (/Sender:\s*(.+)/)      { if ($sender)    { next; } $sender = $1;     }
>     elsif (/Return-path:\s*(.+)/) { if ($returnpath){ next; } $returnpath = $1; }
>     elsif (/Precedence:\s*(.+)/)  { if ($precedence){ next; } $precedence = $1; }


<些細な要望>

当方の期待する利用方法が、オリジナル版で対応可能になりませんでしょ
うか?


以上、ご報告(ご要望)でした〜。