XPressME Integration Kit

Trac

Initial Version から Version 1 における更新: TracNotification

差分発生行の前後
Ignore:
Timestamp:
Oct 30, 2008, 4:53:49 PM (16 years 前)
Author:
trac (IP: 127.0.0.1)
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • TracNotification

    v1 v1  
     1= チケット更新情報のメール通知 = #EmailNotificationofTicketChanges 
     2[[TracGuideToc]] 
     3 
     4Trac はチケット更新情報をメールで通知出来ます。 (英語版では 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 
     18trac.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 
     46{{{ 
     47[notification] 
     48smtp_enabled = true 
     49smtp_server = mail.example.com 
     50smtp_from = notifier@example.com 
     51smtp_replyto = myproj@projects.example.com 
     52smtp_always_cc = ticketmaster@example.com, theboss+myproj@example.com 
     53}}} 
     54 
     55== Email サンプル == #SampleEmail 
     56{{{ 
     57#42: testing 
     58---------------------------+------------------------------------------------ 
     59       Id:  42             |      Status:  assigned                 
     60Component:  report system  |    Modified:  Fri Apr  9 00:04:31 2004 
     61 Severity:  major          |   Milestone:  0.9                      
     62 Priority:  lowest         |     Version:  0.6                      
     63    Owner:  anonymous      |    Reporter:  jonas@example.com                
     64---------------------------+------------------------------------------------ 
     65Changes: 
     66  * component:  changset view => search system 
     67  * priority:  low => highest 
     68  * owner:  jonas => anonymous 
     69  * cc:  daniel@example.com => 
     70         daniel@example.com, jonas@example.com 
     71  * status:  new => assigned 
     72 
     73Comment: 
     74I'm interested too! 
     75 
     76-- 
     77Ticket URL: <http://example.com/trac/ticket/42> 
     78My Project <http://myproj.example.com/> 
     79}}} 
     80 
     81== SMTP リレーホストとして GMail を使用する == #UsingGMailastheSMTPrelayhost 
     82 
     83以下のような設定を使用します 
     84{{{ 
     85[notification] 
     86smtp_enabled = true 
     87use_tls = true 
     88mime_encoding = base64 
     89smtp_server = smtp.gmail.com 
     90smtp_port = 587 
     91smtp_user = user 
     92smtp_password = password 
     93}}} 
     94 
     95''user'' と ''password'' の箇所は、 GMail のアカウントで置き換えてください。 ''たとえば'' [http://gmail.com] にログインするときに使用しているものです。 
     96 
     97代わりに `smtp_port = 25` を使用することもできます。 (訳注: おそらく `gmail.com` 宛のメールしか届きません)[[br]] 
     98しかし `smtp_port = 465` は使用できません。これは動作しないだけでなく、通知メール送信がデッドロックします。ポート番号 465 は SMTPS プロトコル (訳注: SSMTP とも言います) に使用されますが、 Trac はこれをサポートしていません。詳しくは [http://trac.edgewall.org/ticket/7107#comment:2 #7107] を参照してください。 
     99  
     100== 自分が変更した通知をフィルタする == #Filteringnotificationsforonesownchanges 
     101Gmail では、以下のフィルタを使用できます: 
     102 
     103{{{ 
     104from:(<smtp_from>) (("Reporter: <username>" -Changes) OR "Changes (by <username>)") 
     105}}} 
     106 
     107通知メールを削除する場合などに使用してください。 
     108 
     109== トラブルシューティング == #Troubleshooting 
     110 
     111通知メールの設定がうまくいかないとき、最初にログが出力されるようになっているか確かめて下さい。そしてどういうエラーメッセージが出力されているかを見てください。[http://trac.edgewall.org/wiki/TracLogging TracLogging] にログについて書いてあるので見て下さい。 
     112 
     113通知メールのエラーは Web インタフェースで報告されないので、誰かがチケットを更新したり、新規のチケットを登録しても通知メールが届かないことにまったく気づかないでしょう。 Trac の管理者はエラートレースを追い、ログをみる必要があります。 
     114 
     115=== ''Permission denied'' エラー === #Permissiondeniederror 
     116 
     117たいていのエラーメッセージ: 
     118{{{ 
     119  ... 
     120  File ".../smtplib.py", line 303, in connect 
     121    raise socket.error, msg 
     122  error: (13, 'Permission denied') 
     123}}} 
     124 
     125このエラーはたいていサーバのセキュリティの設定に起因します: 多くの Linux のディストリビューションでは Web サーバ (Apache など ...) からローカルの SMTP サーバにメールを送信させません。 
     126 
     127多くのユーザはマニュアルに SMTP サーバに接続できるか試すよう書いてあり、成功するので混乱するでしょう: 
     128{{{ 
     129telnet localhost 25 
     130}}} 
     131トラブルの原因は、一般ユーザは SMTP サーバに接続できるけれども、 Web サーバは接続できないということです: 
     132{{{ 
     133sudo -u www-data telnet localhost 25 
     134}}} 
     135 
     136このような場合、 Web サーバ が SMTP サーバにメールを送信するときに認証を行うように設定する必要があります。実際の設定は使用している Linux のディストリビューションと現在のセキュリティのポリシーによります。 Trac の [http://trac.edgewall.org/wiki/MailingList MailingList] のアーカイブを参照して下さい。 
     137 
     138関係のあるメーリングリストのスレッド: 
     139 * SELinux: http://article.gmane.org/gmane.comp.version-control.subversion.trac.general/7518 
     140  
     141=== ''Suspected spam'' エラー === #Suspectedspamerror 
     142 
     143SMTP サーバの中には Trac によって送信される通知メールを拒否するのもあるでしょう。 
     144 
     145Trac はデフォルトで通知メールを Base64 エンコーディングして受信者に送信します。メールの本文 (Body) 全体がエンコードされる (訳注:チケットのタイトルに日本語が含まれる場合、通知メールの Subject ヘッダも utf-8 base64 エンコーディングされます) ので、繊細なメールサーバ上の ''false positive'' な SPAM 発見プログラムのトリガになってしまいます。このような状況に遭遇した場合、 `mime_encoding` オプションでデフォルトのエンコーディングを "quoted-printable" に変更することを推奨します。 
     146 
     147"quoted-printable" エンコーディングは ラテン系の文字セットで使用すると効果があります。アジア系の文字セットでは、 Base64 エンコーディングに固定することを推奨します。 
     148 
     149(訳注: 日本語のメールで主に使用されるエンコードは `ISO-2022-JP` ですが、 Trac が送信する通知メールは `UTF-8` でエンコードされ、さらに `BASE64` か `quoted-printable` で 7bit-safe な形式にエンコードされます。 
     150`ISO-2022-JP` エンコーディングでない日本語のメールは Spam 検出エンジンに誤判定されやすくなる傾向があるようです。 
     151また、 MUA がこれらのエンコードに対応していない場合、たとえ受信できたとしても文字化けしたり表示できない可能性があります。) 
     152 
     153---- 
     154See also: TracTickets, TracIni, TracGuide