> 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
> そこで以下の案を検討しております。
>
> 案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