[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[kagemai-users:0588] Re: 通知先のアドレス振り分け



Takadaです。

早速のレス、大変ありがとうございます。 >>小寺さん
早速、試してみます。
しかし、rb初心者のため、少し時間かかると思います。
結果、必ずアップします。

> 小寺です。
> 
> > 要は、このA分類の障害なら乙さんに、B分類の障害ならば丙さん
> > にメールを送信したいわけです。
> こういった用途の場合は、送信時に処理するフックスクリプトを用意する必要があります。
> BTSテンプレートプロジェクトにある、email_message.rb の sendmail メソッドを
> 
>     map = []
>     map << ["A分類", "乙さん@xxxxxxxxx"]
>     map << ["B分類", "丙さん@xxxxxxxxx"]
>     map << ["C分類", "乙さん@xxxxxxxxx,丙さん@xxxxxxxxx"]
>     mappedaddrs = ""
>     messages = [message]
>     messages << report.at(report.size - 1) if report.size >= 2 #状態変化時に前状態の関係者にも通知する場合
>     messages.each do |mess|
>         ['bugtype'].each do |eid| #対象フィールドのIDリスト
>             return unless mess.has_element?(eid)
>             # カンマ区切りアドレスリストへ変換
>             mess[eid].split(/[,\s]+/).each do |addrlist|
>             mappedaddrs += ',' + Hash[*map.flatten][addrlist];
>         end
>     end
>     # アドレスユニーク化して送信
>     to = mappedaddrs.split(/[,\s]+/).uniq.find_all{|addr| valid_email_address?(addr)}
>     if !to.empty? then
>       project.sendmail_to(report, message, to, [], [])
>     end
> 
> 
> という様な感じにして利用する様にすると、出来ると思います。
> (全く未確認なのでバグだらけかと思います。あくまでも感じという事で)