4 | | Trac はチケット更新情報をメールで通知出来ます。 (英語版では Notification) |
5 | | |
6 | | メールによる更新通知は、ユーザに関係するチケットについての最新情報を随時に提供したり、専用 ML にチケットの更新情報を配信したりするのに便利な機能です。例えば、 [http://lists.edgewall.com/archive/trac-tickets/ Trac-tickets] を見るとどのようにセットアップされているか見ることができます。 |
7 | | |
8 | | 通知機能はデフォルトでは無効になっています。有効化とコンフィグレーションは [wiki:TracIni trac.ini] で行うことができます。 |
9 | | |
10 | | == メール通知を受け取る == #ReceivingNotificationMails |
11 | | 新しいチケットを登録したりコメントを追加する際、 ''報告者'' (英語版では ''reporter'')、 ''担当者'' (英語版では ''assigned to/owner'') もしくは ''関係者'' (英語版では ''cc'') フィールドに有効なメールアドレスを入力してください。チケットに更新があると、 Trac が自動的にメールを送信します。 (どのように通知メール機能を設定しているかによります) |
12 | | |
13 | | これは、興味のあるチケットや機能追加に関する最新情報を随時受け取りたい場合に便利な機能です。 |
14 | | |
15 | | == SMTP 通知のコンフィグレーション == #ConfiguringSMTPNotification |
16 | | |
17 | | === コンフィグレーション オプション === #ConfigurationOptions |
18 | | trac.ini の `[notification]` セクションで設定できるオプションです。[[BR]](訳注: 0.10 以降では `TracIni` マクロを使用することで正確なオプション一覧を取得できます。以下のリストは必要に応じて `[[TracIni(notification)]]` に置き換えて使用してください。) |
19 | | * '''`smtp_enabled`''': メール通知を有効にします。 |
20 | | * '''`smtp_from`''': 通知メールの ''Sender''-ヘッダに使用するメールアドレス。 |
21 | | * '''`smtp_from_name`''': 通知メールの ''Sender''-ヘッダに使用する送信者名。 |
22 | | * '''`smtp_replyto`''': 通知メールの''Reply-To''-ヘッダに使用するメールアドレス |
23 | | * '''`smtp_default_domain`''': (''0.10 以降'') ドメイン名を含んでいないアドレスに特定のドメイン名を追加します。完全修飾されたアドレスは修正されません。ユーザの設定からメールアドレスが分からないときに、デフォルトドメインをすべてのユーザ名 / ログイン名に追加します。 |
24 | | * '''`smtp_always_cc`''': 常に通知メールを送信するメールアドレスのリスト。 ''主に専用MLにチケット更新を通知するのに使用されます。'' |
25 | | * '''`smtp_always_bcc`''': (''0.10 以降'') 常に通知メールを送信するメールアドレスの一覧。ただし、通知メールの他の受信者からメールアドレスが見えません。 |
26 | | * '''`smtp_subject_prefix`''': (''0.10.1 以降'') e-mail の subject の前に挿入されるテキスト。デフォルトは "!__default!__" |
27 | | * '''`always_notify_reporter`''': 報告者フィールドのすべてのメールアドレスに常に通知メールを送信します。 (default: false) |
28 | | * '''`always_notify_owner`''': (''0.9 以降'') 担当者フィールドのメールアドレスに常に通知メールを送信します。 (default: false) |
29 | | * '''`always_notify_updater`''': (''0.10 以降'') チケットの更新者に常に通知メールを送信します。 (default: false) |
30 | | * '''`use_public_cc`''': (''0.10 以降'') To: (担当者, 報告者) と CC: のアドレスのリストがすべての受信者に見えるかどうかを設定します ( デフォルトは ''Bcc:'' で見えません) |
31 | | * '''`use_short_addr`''': (''0.10 以降'') 通知メールの配信でメールアドレスがドメイン名を含むようにするかどうかを設定します (例 ''@<domain.com>'' で終わらないようにする)。このオプションは SMTP サーバがローカルアドレスをハンドリングでき、ローカルのメールボックスとユーザ名/ログイン名をマップできるような環境、イントラネット内で使用するときに便利です。 |
32 | | * '''`mime_encoding`''': (''0.10 以降'') 通知メールは常に 7-bit モードで送信されます。このオプションで MIME エンコードの選択ができます。利用可能な値は以下の通りです: |
33 | | * `base64`: デフォルトの値です。どのような種類の内容にも対応できます。 デリケートな アンチスパム / アンチウイルス エンジンにひっかかるかもしれません。 |
34 | | * `qp` または `quoted-printable`: ヨーロッパの言語に適しています。 (base64 よりコンパクトです) non-ASCII テキストには推奨できません。 (base64 のほうがコンパクトになります ) |
35 | | * `none`: エンコードしません。英語のみ (ASCII) で使用できます。 non-ASCII 文字を含んでいるメールは配信されないでしょう。 |
36 | | * '''`ticket_subject_template`''': (''0.11 以降'') 通知メールの件名 (Subject) に使用する [http://genshi.edgewall.org/wiki/Documentation/text-templates.html Genshi テキストテンプレート] 。 |
37 | | |
38 | | '''`smtp_from`''' か '''`smtp_replyto`''' の一方 (もしくは両方) が ''必ず'' 設定されていなければなりません。設定されていない場合、 Trac は通知メールの送信を拒否します。 |
39 | | |
40 | | 以下のオプションは SMTP でのメッセージ伝送方法を指定するために使用します。 |
41 | | * '''`smtp_server`''': 通知メッセージに使用されるSMTPサーバ。 |
42 | | * '''`smtp_port`''': (''0.9 以降'') SMTP サーバが使用するポート番号。 |
43 | | * '''`smtp_user`''': (''0.9 以降'') SMTP認証アカウントのユーザID。 |
44 | | * '''`smtp_password`''': (''0.9 以降'') SMTP認証アカウントのパスワード。 |
45 | | * '''`use_tls`''': (''0.10 以降'') SMTP サーバ経由で通知メールを送信するときに、GMail などの [http://en.wikipedia.org/wiki/Transport_Layer_Security TLS] を使用するかどうかを切り替えます。 |
46 | | |
47 | | |
48 | | === コンフィグレーションの例 (SMTP) === #ExampleConfigurationSMTP |
| 4 | Trac supports notification of ticket changes via email. |
| 5 | |
| 6 | Email notification is useful to keep users up-to-date on tickets/issues of interest, and also provides a convenient way to post all ticket changes to a dedicated mailing list. For example, this is how the [http://lists.edgewall.com/archive/trac-tickets/ Trac-tickets] mailing list is set up. |
| 7 | |
| 8 | Disabled by default, notification can be activated and configured in [wiki:TracIni trac.ini]. |
| 9 | |
| 10 | == Receiving Notification Mails == |
| 11 | When reporting a new ticket or adding a comment, enter a valid email address or your username in the ''reporter'', ''assigned to/owner'' or ''cc'' field. Trac will automatically send you an email when changes are made to the ticket (depending on how notification is configured). |
| 12 | |
| 13 | This is useful to keep up-to-date on an issue or enhancement request that interests you. |
| 14 | |
| 15 | === How to use your username to receive notification mails === |
| 16 | |
| 17 | To receive notification mails, you can either enter a full email address or your username. To get notified with a simple username or login, you need to specify a valid email address in the ''Preferences'' page. |
| 18 | |
| 19 | Alternatively, a default domain name ('''`smtp_default_domain`''') can be set in the TracIni file (see [#ConfigurationOptions Configuration Options] below). In this case, the default domain will be appended to the username, which can be useful for an "Intranet" kind of installation. |
| 20 | |
| 21 | When using apache and mod_kerb for authentication against Kerberos / Active Directory, usernames take the form ('''`username@EXAMPLE.LOCAL`'''). To avoid this being interpreted as an email address, add the Kerberos domain to ('''`ignore_domains`'''). |
| 22 | |
| 23 | == Configuring SMTP Notification == |
| 24 | |
| 25 | '''Important:''' For TracNotification to work correctly, the `[trac] base_url` option must be set in [wiki:TracIni trac.ini]. |
| 26 | |
| 27 | === Configuration Options === |
| 28 | These are the available options for the `[notification]` section in trac.ini. |
| 29 | |
| 30 | * '''`smtp_enabled`''': Enable email notification. |
| 31 | * '''`smtp_from`''': Email address to use for ''Sender''-headers in notification emails. |
| 32 | * '''`smtp_from_name`''': Sender name to use for ''Sender''-headers in notification emails. |
| 33 | * '''`smtp_from_author`''': (''since 1.0'') Use the author of a change (the reporter of a new ticket, or the author of a comment) as the `From:` header value in notification e-mails (default: false). If the author hasn't set an e-mail address, `smtp_from` and `smtp_from_name` are used instead. |
| 34 | * '''`smtp_replyto`''': Email address to use for ''Reply-To''-headers in notification emails. |
| 35 | * '''`smtp_default_domain`''': (''since 0.10'') Append the specified domain to addresses that do not contain one. Fully qualified addresses are not modified. The default domain is appended to all username/login for which an email address cannot be found from the user settings. |
| 36 | * '''`smtp_always_cc`''': List of email addresses to always send notifications to. ''Typically used to post ticket changes to a dedicated mailing list.'' |
| 37 | * '''`smtp_always_bcc`''': (''since 0.10'') List of email addresses to always send notifications to, but keeps addresses not visible from other recipients of the notification email |
| 38 | * '''`smtp_subject_prefix`''': (''since 0.10.1'') Text that is inserted before the subject of the email. Set to "!__default!__" by default. |
| 39 | * '''`always_notify_reporter`''': Always send notifications to any address in the reporter field (default: false). |
| 40 | * '''`always_notify_owner`''': (''since 0.9'') Always send notifications to the address in the owner field (default: false). |
| 41 | * '''`always_notify_updater`''': (''since 0.10'') Always send a notification to the updater of a ticket (default: true). |
| 42 | * '''`use_public_cc`''': (''since 0.10'') Addresses in To: (owner, reporter) and Cc: lists are visible by all recipients (default is ''Bcc:'' - hidden copy). |
| 43 | * '''`use_short_addr`''': (''since 0.10'') Enable delivery of notifications to addresses that do not contain a domain (i.e. do not end with ''@<domain.com>'').This option is useful for intranets, where the SMTP server can handle local addresses and map the username/login to a local mailbox. See also `smtp_default_domain`. Do not use this option with a public SMTP server. |
| 44 | * '''`ignore_domains`''': Comma-separated list of domains that should not be considered part of email addresses (for usernames with Kerberos domains). |
| 45 | * '''`mime_encoding`''': (''since 0.10'') This option allows selecting the MIME encoding scheme. Supported values: |
| 46 | * `none`: default value, uses 7bit encoding if the text is plain ASCII, or 8bit otherwise. |
| 47 | * `base64`: works with any kind of content. May cause some issues with touchy anti-spam/anti-virus engines. |
| 48 | * `qp` or `quoted-printable`: best for european languages (more compact than base64) if 8bit encoding cannot be used. |
| 49 | * '''`ticket_subject_template`''': (''since 0.11'') A [http://genshi.edgewall.org/wiki/Documentation/text-templates.html Genshi text template] snippet used to get the notification subject. |
| 50 | * '''`email_sender`''': (''since 0.12'') Name of the component implementing `IEmailSender`. This component is used by the notification system to send emails. Trac currently provides the following components: |
| 51 | * `SmtpEmailSender`: connects to an SMTP server (default). |
| 52 | * `SendmailEmailSender`: runs a `sendmail`-compatible executable. |
| 53 | |
| 54 | Either '''`smtp_from`''' or '''`smtp_replyto`''' (or both) ''must'' be set, otherwise Trac refuses to send notification mails. |
| 55 | |
| 56 | The following options are specific to email delivery through SMTP. |
| 57 | * '''`smtp_server`''': SMTP server used for notification messages. |
| 58 | * '''`smtp_port`''': (''since 0.9'') Port used to contact the SMTP server. |
| 59 | * '''`smtp_user`''': (''since 0.9'') User name for authentication SMTP account. |
| 60 | * '''`smtp_password`''': (''since 0.9'') Password for authentication SMTP account. |
| 61 | * '''`use_tls`''': (''since 0.10'') Toggle to send notifications via a SMTP server using [http://en.wikipedia.org/wiki/Transport_Layer_Security TLS], such as GMail. |
| 62 | |
| 63 | The following option is specific to email delivery through a `sendmail`-compatible executable. |
| 64 | * '''`sendmail_path`''': (''since 0.12'') Path to the sendmail executable. The sendmail program must accept the `-i` and `-f` options. |
| 65 | |
| 66 | === Example Configuration (SMTP) === |
64 | | テンプレートでは以下の変数が使用可能です: |
65 | | |
66 | | * `env`: プロジェクトの Environemnt ([http://trac.edgewall.org/browser/trunk/trac/env.py env.py] 参照)。 |
67 | | * `prefix`: `smtp_subject_prefix` で定義したプレフィックス。 |
68 | | * `summary`: チケットの概要 (Summary), 概要が変更されている場合は古い値。 |
69 | | * `ticket`: ticket model オブジェクト ([http://trac.edgewall.org/browser/trunk/trac/ticket/model.py model.py] 参照)。個別のチケット属性は `$ticket.milestone` のように、ドット (.) で区切って (訳注: 英語での) 属性名を加えることで、参照可能。 |
70 | | |
71 | | == Email サンプル == #SampleEmail |
| 92 | The following variables are available in the template: |
| 93 | |
| 94 | * `env`: The project environment (see [trac:source:/trunk/trac/env.py env.py]). |
| 95 | * `prefix`: The prefix defined in `smtp_subject_prefix`. |
| 96 | * `summary`: The ticket summary, with the old value if the summary was edited. |
| 97 | * `ticket`: The ticket model object (see [trac:source:/trunk/trac/ticket/model.py model.py]). Individual ticket fields can be addressed by appending the field name separated by a dot, e.g. `$ticket.milestone`. |
| 98 | |
| 99 | === Customizing the e-mail content === |
| 100 | |
| 101 | The notification e-mail content is generated based on `ticket_notify_email.txt` in `trac/templates`. You can add your own version of this template by adding a `ticket_notify_email.txt` to the templates directory of your environment. The default looks like this: |
| 102 | |
| 103 | {{{ |
| 104 | $ticket_body_hdr |
| 105 | $ticket_props |
| 106 | {% choose ticket.new %}\ |
| 107 | {% when True %}\ |
| 108 | $ticket.description |
| 109 | {% end %}\ |
| 110 | {% otherwise %}\ |
| 111 | {% if changes_body %}\ |
| 112 | ${_('Changes (by %(author)s):', author=change.author)} |
| 113 | |
| 114 | $changes_body |
| 115 | {% end %}\ |
| 116 | {% if changes_descr %}\ |
| 117 | {% if not changes_body and not change.comment and change.author %}\ |
| 118 | ${_('Description changed by %(author)s:', author=change.author)} |
| 119 | {% end %}\ |
| 120 | $changes_descr |
| 121 | -- |
| 122 | {% end %}\ |
| 123 | {% if change.comment %}\ |
| 124 | |
| 125 | ${changes_body and _('Comment:') or _('Comment (by %(author)s):', author=change.author)} |
| 126 | |
| 127 | $change.comment |
| 128 | {% end %}\ |
| 129 | {% end %}\ |
| 130 | {% end %}\ |
| 131 | |
| 132 | -- |
| 133 | ${_('Ticket URL: <%(link)s>', link=ticket.link)} |
| 134 | $project.name <${project.url or abs_href()}> |
| 135 | $project.descr |
| 136 | }}} |
| 137 | == Sample Email == |
97 | | == SMTP リレーホストとして GMail を使用する == #UsingGMailastheSMTPrelayhost |
98 | | |
99 | | 以下のような設定を使用します |
| 163 | |
| 164 | == Customizing e-mail content for MS Outlook == |
| 165 | |
| 166 | Out-of-the-box, MS Outlook normally presents plain text e-mails with a variable-width font; the ticket properties table will most certainly look like a mess in MS Outlook. This can be fixed with some customization of the [#Customizingthee-mailcontent e-mail template]. |
| 167 | |
| 168 | Replace the following second row in the template: |
| 169 | {{{ |
| 170 | $ticket_props |
| 171 | }}} |
| 172 | |
| 173 | with this instead (''requires Python 2.6 or later''): |
| 174 | {{{ |
| 175 | -------------------------------------------------------------------------- |
| 176 | {% with |
| 177 | pv = [(a[0].strip(), a[1].strip()) for a in [b.split(':') for b in |
| 178 | [c.strip() for c in |
| 179 | ticket_props.replace('|', '\n').splitlines()[1:-1]] if ':' in b]]; |
| 180 | sel = ['Reporter', 'Owner', 'Type', 'Status', 'Priority', 'Milestone', |
| 181 | 'Component', 'Severity', 'Resolution', 'Keywords'] %}\ |
| 182 | ${'\n'.join('%s\t%s' % (format(p[0]+':', ' <12'), p[1]) for p in pv if p[0] in sel)} |
| 183 | {% end %}\ |
| 184 | -------------------------------------------------------------------------- |
| 185 | }}} |
| 186 | |
| 187 | The table of ticket properties is replaced with a list of a selection of the properties. A tab character separates the name and value in such a way that most people should find this more pleasing than the default table, when using MS Outlook. |
| 188 | {{{#!div style="margin: 1em 1.75em; border:1px dotted" |
| 189 | {{{#!html |
| 190 | #42: testing<br /> |
| 191 | --------------------------------------------------------------------------<br /> |
| 192 | <table cellpadding=0> |
| 193 | <tr><td>Reporter:</td><td>jonas@example.com</td></tr> |
| 194 | <tr><td>Owner:</td><td>anonymous</td></tr> |
| 195 | <tr><td>Type:</td><td>defect</td></tr> |
| 196 | <tr><td>Status:</td><td>assigned</td></tr> |
| 197 | <tr><td>Priority:</td><td>lowest</td></tr> |
| 198 | <tr><td>Milestone:</td><td>0.9</td></tr> |
| 199 | <tr><td>Component:</td><td>report system</td></tr> |
| 200 | <tr><td>Severity:</td><td>major</td></tr> |
| 201 | <tr><td>Resolution:</td><td> </td></tr> |
| 202 | <tr><td>Keywords:</td><td> </td></tr> |
| 203 | </table> |
| 204 | --------------------------------------------------------------------------<br /> |
| 205 | Changes:<br /> |
| 206 | <br /> |
| 207 | * component: changset view => search system<br /> |
| 208 | * priority: low => highest<br /> |
| 209 | * owner: jonas => anonymous<br /> |
| 210 | * cc: daniel@example.com =><br /> |
| 211 | daniel@example.com, jonas@example.com<br /> |
| 212 | * status: new => assigned<br /> |
| 213 | <br /> |
| 214 | Comment:<br /> |
| 215 | I'm interested too!<br /> |
| 216 | <br /> |
| 217 | --<br /> |
| 218 | Ticket URL: <http://example.com/trac/ticket/42><br /> |
| 219 | My Project <http://myproj.example.com/><br /> |
| 220 | }}} |
| 221 | }}} |
| 222 | |
| 223 | **Important**: Only those ticket fields that are listed in `sel` are part of the HTML mail. If you have defined custom ticket fields which shall be part of the mail they have to be added to `sel`, example: |
| 224 | {{{ |
| 225 | sel = ['Reporter', ..., 'Keywords', 'Custom1', 'Custom2'] |
| 226 | }}} |
| 227 | |
| 228 | However, it's not as perfect as an automatically HTML-formatted e-mail would be, but presented ticket properties are at least readable by default in MS Outlook... |
| 229 | |
| 230 | |
| 231 | == Using GMail as the SMTP relay host == |
| 232 | |
| 233 | Use the following configuration snippet |