TracNotificationバージョン 1バージョン 2 との変更


以下の違いを無視:
日時:
2012/01/16 5:19:14 (13年前)
更新者:
trac
コメント:

--

凡例:

未変更
追加
削除
更新
  • TracNotification

    v1 v2  
    88通知機能はデフォルトでは無効になっています。有効化とコンフィグレーションは [wiki:TracIni trac.ini] で行うことができます。 
    99 
    10 == メール通知を受け取る == #ReceivingNotificationMails 
    11 新しいチケットを登録したりコメントを追加する際、 ''報告者'' (英語版では ''reporter'')、 ''担当者'' (英語版では ''assigned to/owner'') もしくは ''関係者'' (英語版では ''cc'') フィールドに有効なメールアドレスを入力してください。チケットに更新があると、 Trac が自動的にメールを送信します。 (どのように通知メール機能を設定しているかによります) 
     10== 通知メールを受け取る == #ReceivingNotificationMails 
     11新しいチケットを登録したりコメントを追加する際、 ''報告者'' (英語版では ''reporter'')、 ''担当者'' (英語版では ''assigned to/owner'') もしくは ''関係者'' (英語版では ''cc'') フィールドに有効なメールアドレスやユーザ名を入力してください。チケットに更新があると、 Trac が自動的にメールを送信します。 (どのように通知メール機能を設定しているかによります) 
    1212 
    1313これは、興味のあるチケットや機能追加に関する最新情報を随時受け取りたい場合に便利な機能です。 
    1414 
     15=== 通知メールで受信するメールアドレスを設定する方法 === #Howtouseyourusernametoreceivenotificationmails 
     16 
     17完全なメールアドレスあるいはユーザー名を入力することで、通知メールを受け取ることができます。 単純なユーザ名やログイン名で通知を受け取るには、''ユーザ設定 (Preferences)'' ページで、正しいメールアドレスを入力する必要があります。 
     18 
     19TracIni ファイルにデフォルトドメイン名 ('''`smtp_default_domain`''') を指定することでも、単純なユーザ名で通知を受け取ることができるようになります。 (後述する [#ConfigurationOptions コンフィグレーション オプション] を参照してください) 。この場合、ユーザ名にデフォルトドメインが追加されますので、 "イントラネット" 環境で仕様している場合は便利です。 
     20 
    1521== SMTP 通知のコンフィグレーション == #ConfiguringSMTPNotification 
    1622 
     23'''重要:''' TracNotification を正しく動作させるには、[wiki:TracIni trac.ini] に `[trac] base_url` を設定する必要があります。 
     24 
    1725=== コンフィグレーション オプション === #ConfigurationOptions 
    18 trac.ini の ''[notification]'' セクションで設定できるオプションです。[[BR]](訳注: 0.10 以降では `TracIni` マクロを使用することで正確なオプション一覧を取得できます。以下のリストは必要に応じて `[[TracIni(notification)]]` に置き換えて使用してください。) 
    19  * '''smtp_enabled''': メール通知を有効にします。 
    20  * '''smtp_server''': 通知メッセージに使用されるSMTPサーバ。 
    21  * '''smtp_port''': (''0.9 以降'') SMTP サーバが使用するポート番号。 
    22  * '''smtp_user''': (''0.9 以降'') SMTP認証アカウントのユーザID。 
    23  * '''smtp_password''': (''0.9 以降'') SMTP認証アカウントのパスワード。 
    24  * '''smtp_from''': 通知メールの ''Sender''-ヘッダに使用するメールアドレス。 
    25  * '''smtp_from_name''': 通知メールの ''Sender''-ヘッダに使用する送信者名。 
    26  * '''smtp_replyto''': 通知メールの''Reply-To''-ヘッダに使用するメールアドレス 
    27  * '''smtp_default_domain''': (''0.10 以降'') ドメイン名を含んでいないアドレスに特定のドメイン名を追加します。完全修飾されたアドレスは修正されません。ユーザの設定からメールアドレスが分からないときに、デフォルトドメインをすべてのユーザ名 / ログイン名に追加します。 
    28  * '''smtp_always_cc''': 常に通知メールを送信するメールアドレスのリスト。 ''主に専用MLにチケット更新を通知するのに使用されます。'' 
    29  * '''smtp_always_bcc''': (''0.10 以降'') 常に通知メールを送信するメールアドレスの一覧。ただし、通知メールの他の受信者からメールアドレスが見えません。 
    30  * '''smtp_subject_prefix''': (''0.10.1 以降'') e-mail の subject の前に挿入されるテキスト。デフォルトは "!__default!__" 
    31  * '''always_notify_reporter''': 報告者フィールドのすべてのメールアドレスに常に通知メールを送信します。 (default: false) 
    32  * '''always_notify_owner''': (''0.9 以降'') 担当者フィールドのメールアドレスに常に通知メールを送信します。 (default: false) 
    33  * '''always_notify_updater''': (''0.10 以降'') チケットの更新者に常に通知メールを送信します。 (default: false) 
    34  * '''use_public_cc''': (''0.10 以降'') To: (担当者, 報告者) と CC: のアドレスのリストがすべての受信者に見えるかどうかを設定します ( デフォルトは ''Bcc:'' で見えません) 
    35  * '''use_short_addr''': (''0.10 以降'') 通知メールの配信でメールアドレスがドメイン名を含むようにするかどうかを設定します (例 ''@<domain.com>'' で終わらないようにする)。このオプションは SMTP サーバがローカルアドレスをハンドリングでき、ローカルのメールボックスとユーザ名/ログイン名をマップできるような環境、イントラネット内で使用するときに便利です。 
    36  * '''use_tls''': (''0.10 以降'') SMTP サーバ経由で通知メールを送信するときに、GMail などの [http://en.wikipedia.org/wiki/Transport_Layer_Security TLS] を使用するかどうかを切り替えます。 
    37  * '''mime_encoding''': (''0.10 以降'') 通知メールは常に 7-bit モードで送信されます。このオプションで MIME エンコードの選択ができます。利用可能な値は以下の通りです: 
    38    * `base64`: デフォルトの値です。どのような種類の内容にも対応できます。 デリケートな アンチスパム / アンチウイルス エンジンにひっかかるかもしれません。 
    39    * `qp` または `quoted-printable`: ヨーロッパの言語に適しています。 (base64 よりコンパクトです) non-ASCII テキストには推奨できません。 (base64 のほうがコンパクトになります ) 
    40    * `none`: エンコードしません。英語のみ (ASCII) で使用できます。 non-ASCII 文字を含んでいるメールは配信されないでしょう。 
    41  
    42 '''smtp_from''' か '''smtp_replyto''' の一方 (もしくは両方) が ''必ず'' 設定されていなければなりません。設定されていない場合、 Trac は通知メールの送信を拒否します。 
    43  
    44 === コンフィグレーションの例 === #ExampleConfiguration 
    45  
     26trac.ini の `[notification]` セクションで設定できるオプションです。[[BR]](訳注: 0.10 以降では `TracIni` マクロを使用することで正確なオプション一覧を取得できます。以下のリストは必要に応じて `[[TracIni(notification)]]` に置き換えて使用してください。) 
     27 
     28 * '''`smtp_enabled`''': メール通知を有効にします。 
     29 * '''`smtp_from`''': 通知メールの ''Sender''-ヘッダに使用するメールアドレス。 
     30 * '''`smtp_from_name`''': 通知メールの ''Sender''-ヘッダに使用する送信者名。 
     31 * '''`smtp_replyto`''': 通知メールの''Reply-To''-ヘッダに使用するメールアドレス 
     32 * '''`smtp_default_domain`''': (''0.10 以降'') ドメイン名を含んでいないアドレスに特定のドメイン名を追加します。完全修飾されたアドレスは修正されません。ユーザの設定からメールアドレスが分からないときに、デフォルトドメインをすべてのユーザ名 / ログイン名に追加します。 
     33 * '''`smtp_always_cc`''': 常に通知メールを送信するメールアドレスのリスト。 ''主に専用MLにチケット更新を通知するのに使用されます。'' 
     34 * '''`smtp_always_bcc`''': (''0.10 以降'') 常に通知メールを送信するメールアドレスの一覧。ただし、通知メールの他の受信者からメールアドレスが見えません。 
     35 * '''`smtp_subject_prefix`''': (''0.10.1 以降'') e-mail の subject の前に挿入されるテキスト。デフォルトは "!__default!__" 
     36 * '''`always_notify_reporter`''': 報告者フィールドのすべてのメールアドレスに常に通知メールを送信します。 (default: false) 
     37 * '''`always_notify_owner`''': (''0.9 以降'') 担当者フィールドのメールアドレスに常に通知メールを送信します。 (default: false) 
     38 * '''`always_notify_updater`''': (''0.10 以降'') チケットの更新者に常に通知メールを送信します。 (default: false) 
     39 * '''`use_public_cc`''': (''0.10 以降'') To: (担当者, 報告者) と CC: のアドレスのリストがすべての受信者に見えるかどうかを設定します ( デフォルトは ''Bcc:'' で見えません) 
     40 * '''`use_short_addr`''': (''0.10 以降'') 通知メールの配信でメールアドレスがドメイン名を含むようにするかどうかを設定します (例 ''@<domain.com>'' で終わらないようにする)。このオプションは SMTP サーバがローカルアドレスをハンドリングでき、ローカルのメールボックスとユーザ名/ログイン名をマップできるような環境、イントラネット内で使用するときに便利です。 
     41 * '''`mime_encoding`''': (''0.10 以降'') MIME のエンコードのスキームを選択します。サポートする値: 
     42   * `none`: デフォルト値。テキストがプレーンな ASCII 文字コード、もしくはその他 8 ビットの文字コードであるときに、 7 ビットエンコードを使用します。 
     43   * `base64`: どのような内容が含まれていても動作します。敏感なアンチスパム / アンチウイルスエンジンではいくつかの問題があるかもしれません。 
     44   * `qp` または `quoted-printable`: 8 ビットエンコーディングが使用できない場合、ヨーロッパの言語に対して最適です ( base64 よりもコンパクトです )。 
     45 * '''`ticket_subject_template`''': (''0.11 以降'') 通知メールの件名 (Subject) に使用する [http://genshi.edgewall.org/wiki/Documentation/text-templates.html Genshi テキストテンプレート] 。 
     46 * '''`email_sender`''': (''0.12 以降'') `IEmailSender` インタフェースを実装しているコンポーネント名。通知システムは、ここで設定されたコンポーネントを使用してメールを送信します。現在のところ Trac では以下のコンポーネントが提供されています: 
     47   * `SmtpEmailSender`: SMTP サーバに接続してメールを送信する (デフォルト)。 
     48   * `SendmailEmailSender`: `sendmail` 互換の実行ファイルを実行してメールを送信する。 
     49 
     50'''`smtp_from`''' か '''`smtp_replyto`''' の一方 (もしくは両方) が ''必ず'' 設定されていなければなりません。設定されていない場合、 Trac は通知メールの送信を拒否します。 
     51 
     52以下のオプションは SMTP でのメッセージ伝送方法を指定するために使用します。 
     53 * '''`smtp_server`''': 通知メッセージに使用されるSMTPサーバ。 
     54 * '''`smtp_port`''': (''0.9 以降'') SMTP サーバが使用するポート番号。 
     55 * '''`smtp_user`''': (''0.9 以降'') SMTP 認証アカウントのユーザID。 
     56 * '''`smtp_password`''': (''0.9 以降'') SMTP 認証アカウントのパスワード。 
     57 * '''`use_tls`''': (''0.10 以降'') SMTP サーバ経由で通知メールを送信するときに、GMail などの [http://en.wikipedia.org/wiki/Transport_Layer_Security TLS] を使用するかどうかを切り替えます。 
     58 
     59以下のオプションは `sendmail` 互換の実行ファイルを使用する場合のメッセージ伝送方法を指定するために使用します。 
     60 * '''`sendmail_path`''': (''0.12 以降'') sendmail の実行ファイルへのパスを設定します。ここで指定する sendmail プログラムは `-i` および `-f` オプションを解釈できなければなりません。 
     61 
     62=== コンフィグレーションの例 (SMTP) === #ExampleConfigurationSMTP 
    4663{{{ 
    4764[notification] 
     
    5370}}} 
    5471 
     72=== コンフィグレーションの例 (`sendmail`) === #ExampleConfigurationsendmail 
     73{{{ 
     74[notification] 
     75smtp_enabled = true 
     76email_sender = SendmailEmailSender 
     77sendmail_path = /usr/sbin/sendmail 
     78smtp_from = notifier@example.com 
     79smtp_replyto = myproj@projects.example.com 
     80smtp_always_cc = ticketmaster@example.com, theboss+myproj@example.com 
     81}}} 
     82 
     83=== メールの件名をカスタマイズする === #Customizingthee-mailsubject 
     84`ticket_subject_template` オプションを使用することでメールの件名をカスタマイズできます。このオプションには [http://genshi.edgewall.org/wiki/Documentation/text-templates.html Genshi テキストテンプレート] を含めることができます。デフォルト値は以下の通りです: 
     85{{{ 
     86$prefix #$ticket.id: $summary 
     87}}} 
     88テンプレートでは以下の変数が使用可能です: 
     89 
     90 * `env`: プロジェクトの Environemnt ([http://trac.edgewall.org/browser/trunk/trac/env.py env.py] 参照)。 
     91 * `prefix`: `smtp_subject_prefix` で定義したプレフィックス。 
     92 * `summary`: チケットの概要 (Summary), 概要が変更されている場合は古い値。 
     93 * `ticket`: ticket model オブジェクト ([http://trac.edgewall.org/browser/trunk/trac/ticket/model.py model.py] 参照)。個別のチケット属性は `$ticket.milestone` のように、ドット (.) で区切って (訳注: 英語での) 属性名を加えることで、参照可能。 
     94 
     95=== メールの内容をカスタマイズする === #Customizingthee-mailcontent 
     96 
     97通知メールの内容は `trac/ticket/templates` の `ticket_notify_email.txt` を元に生成されます。編集した `ticket_notify_email.txt` を Environment の templates ディレクトリに配置することで、カスタマイズすることができます。デフォルトはこのようになっています: 
     98 
     99{{{ 
     100$ticket_body_hdr 
     101$ticket_props 
     102#choose ticket.new 
     103  #when True 
     104$ticket.description 
     105  #end 
     106  #otherwise 
     107    #if changes_body 
     108Changes (by $change.author): 
     109 
     110$changes_body 
     111    #end 
     112    #if changes_descr 
     113      #if not changes_body and not change.comment and change.author 
     114Description changed by $change.author: 
     115      #end 
     116$changes_descr 
     117-- 
     118    #end 
     119    #if change.comment 
     120 
     121Comment${not changes_body and '(by %s)' % change.author or ''}: 
     122 
     123$change.comment 
     124    #end 
     125  #end 
     126#end 
     127 
     128--  
     129Ticket URL: <$ticket.link> 
     130$project.name <${project.url or abs_href()}> 
     131$project.descr 
     132}}} 
    55133== Email サンプル == #SampleEmail 
    56134{{{ 
     
    105183}}} 
    106184 
    107 通知メールを削除する場合などに使用してください。 
     185Trac 0.10 の場合は、下記のフィルタを使用してください: 
     186{{{ 
     187from:(<smtp_from>) (("Reporter: <username>" -Changes -Comment) OR "Changes (by <username>)" OR "Comment (by <username>)") 
     188}}} 
     189 
     190通知メールを削除する場合などにも使用できます。 
     191 
     192Thunderbird で IMAP を使用している場合は、この方法は使えません 
     193(http://kb.mozillazine.org/Filters_(Thunderbird)#Filtering_the_message_body 参照)。 
     194 
     195最良の方法は conf/trac.ini の "always_notify_updater" を false に設定することです。 
     196しかし、この方法では自分が担当者 (owner) になっていたり、報告 (reporter) したチケットへのコメントが取得できなくなります。 
     197 
     198プラグインを追加することで解決するかもしれません: 
     199http://trac-hacks.org/wiki/NeverNotifyUpdaterPlugin 
    108200 
    109201== トラブルシューティング == #Troubleshooting 
     
    138230関係のあるメーリングリストのスレッド: 
    139231 * SELinux: http://article.gmane.org/gmane.comp.version-control.subversion.trac.general/7518 
    140   
     232 
     233Fedora 10 の SELinux では下記のコマンドで対処できます: 
     234{{{ 
     235$ setsebool -P httpd_can_sendmail 1 
     236}}} 
    141237=== ''Suspected spam'' エラー === #Suspectedspamerror 
    142238 
     
    145241Trac はデフォルトで通知メールを Base64 エンコーディングして受信者に送信します。メールの本文 (Body) 全体がエンコードされる (訳注:チケットのタイトルに日本語が含まれる場合、通知メールの Subject ヘッダも utf-8 base64 エンコーディングされます) ので、繊細なメールサーバ上の ''false positive'' な SPAM 発見プログラムのトリガになってしまいます。このような状況に遭遇した場合、 `mime_encoding` オプションでデフォルトのエンコーディングを "quoted-printable" に変更することを推奨します。 
    146242 
    147 "quoted-printable" エンコーディングは ラテン系の文字セットで使用すると効果があります。アジア系の文字セットでは、 Base64 エンコーディングに固定することを推奨します。 
    148  
    149 (訳注: 日本語のメールで主に使用されるエンコードは `ISO-2022-JP` ですが、 Trac が送信する通知メールは `UTF-8` でエンコードされ、さらに `BASE64` か `quoted-printable` で 7bit-safe な形式にエンコードされます。 
    150 `ISO-2022-JP` エンコーディングでない日本語のメールは Spam 検出エンジンに誤判定されやすくなる傾向があるようです。 
    151 また、 MUA がこれらのエンコードに対応していない場合、たとえ受信できたとしても文字化けしたり表示できない可能性があります。) 
     243"quoted-printable" エンコーディングは ラテン系の文字セットで使用すると効果があります。アジア系の文字セットでは、 Base64 エンコーディングに固定することを推奨します。 (訳注: 日本語のメールで主に使用されるエンコードは `ISO-2022-JP` ですが、 Trac が送信する通知メールは `UTF-8` でエンコードされ、さらに `BASE64` か `quoted-printable` で 7bit-safe な形式にエンコードされます。 `ISO-2022-JP` エンコーディングでない日本語のメールは Spam 検出エンジンに誤判定されやすくなる傾向があるようです。また、 MUA がこれらのエンコードに対応していない場合、たとえ受信できたとしても文字化けしたり表示できない可能性があります。) 
     244 
     245=== ''501, 5.5.4 Invalid Address'' エラー === #a5015.5.4InvalidAddresserror 
     246 
     247IIS 6.0 で 
     248{{{ 
     249Failure sending notification on change to ticket #1: SMTPHeloError: (501, '5.5.4 Invalid Address') 
     250}}} 
     251上記のエラーが trac のログにでる場合、 [http://support.microsoft.com/kb/291828 ここ]を参考に解決してください。 
     252 
    152253 
    153254----