Changes between Version 2 and Version 3 of TracNotification


Ignore:
Timestamp:
Apr 1, 2017, 10:40:26 PM (2 years ago)
Author:
trac
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • TracNotification

    v2 v3  
    99
    1010== Receiving Notification Mails
    11 
    1211When reporting a new ticket or adding a comment, enter a valid email address or your Trac 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.
    1312
     
    3332
    3433=== Configuration Options
    35 
    36 These are the available options for the `[notification]` section in `trac.ini`:
    37 
    38 [[TracIni(notification)]]
     34These are the available options for the `[notification]` section in trac.ini:
     35
     36[[TracIni(section=notification)]]
    3937
    4038=== Example Configuration (SMTP)
    41 
    4239{{{#!ini
    4340[notification]
     
    5047
    5148=== Example Configuration (`sendmail`)
    52 
    5349{{{#!ini
    5450[notification]
     
    6157}}}
    6258
     59=== Subscriber Configuration
     60The default subscriptions are configured in the `[notification-subscriber]` section in trac.ini:
     61
     62[[TracIni(section=notification-subscriber)]]
     63
     64Each user can override these defaults in his ''Notifications'' preferences.
     65
     66For example to unsubscribe from notifications for one's own changes and comments, the rule "Never notify: I update a ticket" should be added above other subscription rules.
     67
     68The subscription rule name on the left side of the `=` can be anything, it has no meaning outside this configuration file. The subscriber name on the right side of the `=` must be one of the subscribers listed in the above table.
     69
     70The following attributes of default subscriptions can be configured:
     71* `.distributor` (Default: `email`)
     72  * Other values require plugins. For example `on-site` requires th:OnSiteNotificationsPlugin.
     73* `.priority` (Default: `100`)
     74  * Smaller values override larger values.
     75  * If you use `0`, then users will not be able to override this rule.
     76* `.adverb` (Default: `always`)
     77  * `never` can be used to silence other subscription rules with higher values.
     78* `.format` (Default: `text/plain`)
     79  * Other values require plugins. For example `text/html` requires th:TracHtmlNotificationPlugin.
     80
     81=== Example Configuration (default subscriptions)
     82{{{#!ini
     83[notification-subscriber]
     84always_notify_owner = TicketOwnerSubscriber
     85always_notify_owner.distributor = email
     86always_notify_owner.priority = 100
     87always_notify_owner.adverb = always
     88always_notify_owner.format = text/plain
     89
     90always_notify_previous_updater = TicketPreviousUpdatersSubscriber
     91
     92never_notify_updater = TicketUpdaterSubscriber
     93never_notify_updater.adverb = never
     94never_notify_updater.priority = 0
     95
     96notify_cc_html = CarbonCopySubscriber
     97notify_cc_html.format = text/html
     98}}}
     99
    63100=== Customizing the e-mail subject
    64 
    65101The e-mail subject can be customized with the `ticket_subject_template` option, which contains a [http://genshi.edgewall.org/wiki/Documentation/text-templates.html Genshi text template] snippet. The default value is:
    66 {{{
    67 $prefix #$ticket.id: $summary
    68 }}}
    69 
     102{{{#!genshi
     103${prefix} #${ticket.id}: ${summary}
     104}}}
    70105The following variables are available in the template:
    71106
     
    73108 * `prefix`: The prefix defined in `smtp_subject_prefix`.
    74109 * `summary`: The ticket summary, with the old value if the summary was edited.
    75  * `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, eg `$ticket.milestone`.
     110 * `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, eg `${ticket.milestone}`.
    76111
    77112=== Customizing the e-mail content
     
    79114The notification e-mail content is generated based on `ticket_notify_email.txt` in `trac/ticket/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:
    80115
    81 {{{
    82 $ticket_body_hdr
    83 $ticket_props
     116{{{#!genshi
     117${ticket_body_hdr}
     118${ticket_props}
    84119{% choose ticket.new %}\
    85120{%   when True %}\
    86 $ticket.description
     121${ticket.description}
    87122{%   end %}\
    88123{%   otherwise %}\
     
    90125${_('Changes (by %(author)s):', author=change.author)}
    91126
    92 $changes_body
     127${changes_body}
    93128{%     end %}\
    94129{%     if changes_descr %}\
     
    96131${_('Description changed by %(author)s:', author=change.author)}
    97132{%       end %}\
    98 $changes_descr
     133${changes_descr}
    99134--
    100135{%     end %}\
     
    103138${changes_body and _('Comment:') or _('Comment (by %(author)s):', author=change.author)}
    104139
    105 $change.comment
     140${change.comment}
    106141{%     end %}\
    107142{%   end %}\
     
    110145--
    111146${_('Ticket URL: <%(link)s>', link=ticket.link)}
    112 $project.name <${project.url or abs_href()}>
    113 $project.descr
     147${project.name} <${project.url or abs_href()}>
     148${project.descr}
    114149}}}
    115150
    116151== Sample Email
    117 
    118152{{{
    119153#42: testing
     
    147181Replace the following second row in the template:
    148182{{{
    149 $ticket_props
     183${ticket_props}
    150184}}}
    151185
     
    225259Alternatively, you can use `smtp_port = 25`.[[br]]
    226260You should not use `smtp_port = 465`. Doing so may deadlock your ticket submission. Port 465 is reserved for the SMTPS protocol, which is not supported by Trac. See [trac:comment:2:ticket:7107 #7107] for details.
    227  
    228 == Filtering notifications for one's own changes and comments
    229 
    230 To delete these notifications in Gmail, use the following filter:
    231 {{{
    232 from:(<smtp_from>) (("Reporter: <username>" -Changes -Comment) OR "Changes (by <username>)" OR "Comment (by <username>)")
    233 }}}
    234 
    235 In Thunderbird, there is no such solution if you use IMAP, see http://kb.mozillazine.org/Filters_(Thunderbird)#Filtering_the_message_body.
    236 
    237 You can also add this plugin:
    238 http://trac-hacks.org/wiki/NeverNotifyUpdaterPlugin, or vote for [trac:#2247] to be fixed.
    239261
    240262== Troubleshooting
     
    247269
    248270Typical error message:
    249 {{{
     271{{{#!sh
    250272  ...
    251273  File ".../smtplib.py", line 303, in connect
     
    260282telnet localhost 25
    261283}}}
    262 
    263284This is because a regular user may connect to the SMTP server, but the web server cannot:
    264285{{{#!sh
     
    268289In such a case, you need to configure your server so that the web server is authorized to post to the SMTP server. The actual settings depend on your Linux distribution and current security policy. You may find help in the Trac [trac:MailingList MailingList] archive.
    269290
    270 Relevant mailing list thread on SELinux: http://article.gmane.org/gmane.comp.version-control.subversion.trac.general/7518
     291Relevant ML threads:
     292 * SELinux: http://article.gmane.org/gmane.comp.version-control.subversion.trac.general/7518
    271293
    272294For SELinux in Fedora 10:
    273295{{{#!sh
    274 setsebool -P httpd_can_sendmail 1
     296$ setsebool -P httpd_can_sendmail 1
    275297}}}
    276298