[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[kagemai-users:0351] Re: 件名を人・またはステータスによって変更する
福岡です。
"Sakuragi Yukari" san wrote:
| メールの件名は現在
| 「プロジェクト名+ID title」
| となっていますが、
|
| あるステータスのときのみメールの件名を変更することは可能でしょうか?
なぜそんなことをしたいのかとか、どう変更したいのかにもよるんですが、
resource/ja/template/_default/report_h.rtxt を、変更を適用したい
プロジェクトの template にコピーして修正すればできます。
たとえば、以下のような感じで。
diff -u report_h.rtxt report_h.rtxt.tmp
--- report_h.rtxt 2004-07-06 20:44:38.000000000 +0900
+++ report_h.rtxt.tmp 2004-12-21 20:54:56.265625000 +0900
@@ -5,7 +5,11 @@
Reply-To: <%= reply_to %>
<% end %>
+<% if report['status'] != '完了' then %>
Subject: <%= subject %>
+<% else %>
+Subject: [finished] <%= subject %>
+<% end %>
<% if to.size > 0 then %>
To: <%= to.join(', ') %>
report_h.rtxt は、最終的には、送信されるメールのヘッダになります。
report_h.rtxt 中の空行はメールを組み立てる時点で削除されるので
気にする必要はありませんが、その点を除けば、RFC 2822 に従った
正しいメールヘッダである必要があります。一応。
日本語(Non ASCIIの文字)を入れたい場合には RFC 2047 を守るように
エンコードしてやる必要があります。一応。
# report_h.rtxt 中の subject は、すでにエンコードされた状態になっています。
影舞ではヘッダのエンコード用に lib/kagemai/mail/mail.rb で Mail::b_encode
を定義して使っていますが、これは基本的には、まだエンコードされていない
ヘッダフィールド全体をエンコードすることしか考えていません。そのため、
もとの subject に文字を追加する場合などには、一旦 Mail::b_decode してから
文字を追加してMail::b_encode するか、追加する文字の部分だけエンコードして
subject と適切にくっつけてください。
--
福岡ともゆき <fukuoka@xxxxxxxxxxxxx>
http://www.daifukuya.com/