メールアドレス設定について

130 views
Skip to first unread message
Message has been deleted

もけ

unread,
Oct 9, 2008, 3:22:14 AM10/9/08
to kagemai-users
はじめまして。もけと申します。
影舞 0.8.6.を使用しております。
下記のような運用を行っているのですが、
気になっている点がありますので、教えていただけますでしょうか。

運用:
常にメールを受け取りたい人のアドレスを設定-通知先アドレスに設定し、
内容によって通知したい人のアドレスをID「assigned」のフィールドに入力して
運用しています。

1.メールヘッダの「To:」に記載されるアドレスについて
  この場合、メールヘッダの「To:」に記載されるアドレスは
  「リプライをメールで受け取るをチェックしている送信者のアドレス」と
  「ID「assigned」のフィールドに入力したアドレス」
  になるのでしょうか?
  また、To:ヘッダに「undisclosed-recipients:;」が記載される条件がありましたら
  教えていただけますでしょうか。

2.ID「assigned」のフィールドと別に単一選択肢フィールドを設定し、
  選択された内容でメールアドレスを指定することは可能でしょうか?
  例えば、単一選択肢フィールドで「A」と選択された場合は
  A@XXXXXに常に送信するように、「B」と選択された場合は
  B@XXXXXに常に送信するように、といった具合です。


以上よろしくお願いいたします。

FUKUOKA Tomoyuki

unread,
Oct 10, 2008, 5:21:50 AM10/10/08
to kagema...@googlegroups.com
福岡です。

> 1.メールヘッダの「To:」に記載されるアドレスについて
> この場合、メールヘッダの「To:」に記載されるアドレスは
> 「リプライをメールで受け取るをチェックしている送信者のアドレス」と
> 「ID「assigned」のフィールドに入力したアドレス」
> になるのでしょうか?
> また、To:ヘッダに「undisclosed-recipients:;」が記載される条件がありましたら
> 教えていただけますでしょうか。

「リプライをメールで受け取るをチェックしている送信者のアドレス」が
1つもないときには、To ヘッダが空なので、"undisclosed-recipients" になるようです。
「ID「assigned」のフィールドに入力したアドレス」は、BCC に入れてメールが
送られます。

http://www.daifukuya.com/kagemai/guest.rbx?action=view_report&id=107&project=kagemai

> 2.ID「assigned」のフィールドと別に単一選択肢フィールドを設定し、
> 選択された内容でメールアドレスを指定することは可能でしょうか?
> 例えば、単一選択肢フィールドで「A」と選択された場合は
> A@XXXXXに常に送信するように、「B」と選択された場合は
> B@XXXXXに常に送信するように、といった具合です。

プロジェクトのデータディレクトリ/scripts/email_message.rb を
少し書き換えてあげれば可能だと思います。

動かしてませんが、7行目の

> eid = 'assigned' # setup

の assigned を新しいフィールドの ID にして、10行目の

> to = message[eid].split(/[,\s]+/).find_all{|addr| valid_email_address?(addr)}

を次のような感じにするといいのではないでしょうか。

to = message[eid].split(/[,\s]+/).find_all{|addr|
valid_email_address?(addr + '@example.org')}

--
FUKUOKA Tomoyuki

もけ

unread,
Oct 14, 2008, 10:27:05 PM10/14/08
to kagemai-users
もけです。

返信ありがとうございました。

> > 1.メールヘッダの「To:」に記載されるアドレスについて

この件については理解致しました。ありがとうございます。


> > 2.ID「assigned」のフィールドと別に単一選択肢フィールドを設定し、
> > 選択された内容でメールアドレスを指定することは可能でしょうか?
> > 例えば、単一選択肢フィールドで「A」と選択された場合は
> > A@XXXXXに常に送信するように、「B」と選択された場合は
> > B@XXXXXに常に送信するように、といった具合です。
>
> プロジェクトのデータディレクトリ/scripts/email_message.rb を
> 少し書き換えてあげれば可能だと思います。

教えていただいた箇所を編集して、考えていた通りの動きがほぼ出来るようになったのですが
少し問題がありました。

運用上、
単一選択肢フィールドで「A」→「B」に変更された場合、
A@XXXXXとB@XXXXXの両方に送信しなければいけない事がわかりました。

そこで以下の案を検討しております。

 案1.単一選択肢フィールドの内容から判断して、「assigned」フィールドにアドレスを追加する
    懸念事項:・重複するメールアドレスが追加されないようにチェックが必要
 案2.以前の単一選択肢フィールドの状態を参照して、送信するアドレスを決定する。
    懸念事項:1つ前のレポートのフィールド状態が参照できるのかわからない。

案1の「メールアドレスの重複チェック」を行う箇所、
案2の「1つ前のレポートフィールドの参照」を行う方法を
教えていただけると助かります。

何度も申し訳ありませんが、よろしくお願いいたします。

FUKUOKA Tomoyuki

unread,
Oct 16, 2008, 5:36:34 AM10/16/08
to kagema...@googlegroups.com
福岡です。

> そこで以下の案を検討しております。
>
> 案1.単一選択肢フィールドの内容から判断して、「assigned」フィールドにアドレスを追加する
> 懸念事項:・重複するメールアドレスが追加されないようにチェックが必要
> 案2.以前の単一選択肢フィールドの状態を参照して、送信するアドレスを決定する。
> 懸念事項:1つ前のレポートのフィールド状態が参照できるのかわからない。
>
> 案1の「メールアドレスの重複チェック」を行う箇所、

同じメールアドレスが2つ追加されても送信されるメールは1つだけにしたい、
ということなら、email_message.rb はすでにそうなっていると思います。

場所的には、

> to = message[eid].split(/[,\s]+/).find_all{|addr| valid_email_address?(addr)}

> to = to.uniq - project.notify_addresses - report.email_addresses

ですね。この後に、

message[eid] = to.uniq.join(", ")

としてやれば、同じアドレスが2つあるときにレポート上でも1つになると思います。


> 案2の「1つ前のレポートフィールドの参照」を行う方法を
> 教えていただけると助かります。

email_message.rb の sendmail 関数内でということだと、

prev_message = report.at(report.size - 1) # 1つ前のメッセージを取得
prev_value = prev_message[eid] # そのフィールドを取得

という感じで値をとれると思います。

--
FUKUOKA Tomoyuki

もけ

unread,
Oct 17, 2008, 3:00:26 AM10/17/08
to kagemai-users
もけです。

返信ありがとうございました。

教えていただいた各々の方法を確認してみた結果、

> 案1.単一選択肢フィールドの内容から判断して、「assigned」フィールドにアドレスを追加する

の方がシンプルなので、こちらの案で運用することにしました。

ご丁寧に教えていただき、本当に助かりました。
ありがとうございました。
Reply all
Reply to author
Forward
0 new messages