Changes between Version 1 and Version 2 of TracNotification


Ignore:
Timestamp:
Oct 12, 2010, 8:57:27 PM (15 years ago)
Author:
trac
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • 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 エンコードの選択ができます。利用可能な値は以下の通りです:
     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 以降'') 通知メールは常に 7-bit モードで送信されます。このオプションで MIME エンコードの選択ができます。利用可能な値は以下の通りです:
    3842   * `base64`: デフォルトの値です。どのような種類の内容にも対応できます。 デリケートな アンチスパム / アンチウイルス エンジンにひっかかるかもしれません。
    3943   * `qp` または `quoted-printable`: ヨーロッパの言語に適しています。 (base64 よりコンパクトです) non-ASCII テキストには推奨できません。 (base64 のほうがコンパクトになります )
    4044   * `none`: エンコードしません。英語のみ (ASCII) で使用できます。 non-ASCII 文字を含んでいるメールは配信されないでしょう。
    41 
    42 '''smtp_from''' か '''smtp_replyto''' の一方 (もしくは両方) が ''必ず'' 設定されていなければなりません。設定されていない場合、 Trac は通知メールの送信を拒否します。
    43 
    44 === コンフィグレーションの例 === #ExampleConfiguration
    45 
     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通知メールを削除する場合などにも使用できます。
    108191
    109192Thunderbird で IMAP を使用している場合は、この方法は使えません
     
    147230関係のあるメーリングリストのスレッド:
    148231 * SELinux: http://article.gmane.org/gmane.comp.version-control.subversion.trac.general/7518
    149  
     232
     233Fedora 10 の SELinux では下記のコマンドで対処できます:
     234{{{
     235$ setsebool -P httpd_can_sendmail 1
     236}}}
    150237=== ''Suspected spam'' エラー === #Suspectedspamerror
    151238
     
    154241Trac はデフォルトで通知メールを Base64 エンコーディングして受信者に送信します。メールの本文 (Body) 全体がエンコードされる (訳注:チケットのタイトルに日本語が含まれる場合、通知メールの Subject ヘッダも utf-8 base64 エンコーディングされます) ので、繊細なメールサーバ上の ''false positive'' な SPAM 発見プログラムのトリガになってしまいます。このような状況に遭遇した場合、 `mime_encoding` オプションでデフォルトのエンコーディングを "quoted-printable" に変更することを推奨します。
    155242
    156 "quoted-printable" エンコーディングは ラテン系の文字セットで使用すると効果があります。アジア系の文字セットでは、 Base64 エンコーディングに固定することを推奨します。
    157 
    158 (訳注: 日本語のメールで主に使用されるエンコードは `ISO-2022-JP` ですが、 Trac が送信する通知メールは `UTF-8` でエンコードされ、さらに `BASE64` か `quoted-printable` で 7bit-safe な形式にエンコードされます。
    159 `ISO-2022-JP` エンコーディングでない日本語のメールは Spam 検出エンジンに誤判定されやすくなる傾向があるようです。
    160 また、 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
    161253
    162254----