Edgewall Software

Changes between Initial Version and Version 1 of 0.12/TranslationRu/TracNotification


Ignore:
Timestamp:
Jul 16, 2012, 9:22:15 PM (7 years ago)
Author:
trac
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • 0.12/TranslationRu/TracNotification

    v1 v1  
     1= Оповещение обновлений в задачах по электронной почте =
     2[[TracGuideToc]]
     3[[PageOutline]]
     4[[TranslatedPages(revision=0)]]
     5
     6Trac поддерживает оповещения о изменениях в задачах по электронной почте.
     7
     8Оповещения по электронной почте помогают держать пользователей в курсе изменений задач или интересующих их вопросов, а так же предоставляют удобный способ отправления всех обновлений задач на внешний список рассылок. К примеру, этим способом организован список рассылок [http://lists.edgewall.com/archive/trac-tickets/ Trac-tickets].
     9
     10Оповещене отключено по умолчанию, но его можно включить и настроить в [wiki:TracIni trac.ini].
     11
     12== Получение писем оповещений ==
     13Во время создания новой задачи или добавления комментария к любой задаче, введите корректный адрес вашего ящика электропочты или ваше имя пользователя в поле ''от кого'', ''владелец'' или ''cc''. Trac будет автоматически присылать вам электрописьма о совершённых изменениях в задаче (зависит от того, как настроена система оповещения).
     14
     15Это помогает быть в курсе всех изменений в интересующих вас вопросах или запросах улучшений.
     16
     17=== Использование вашего имени пользователя для получения уведомлений ===
     18
     19Для получения уведомлений вы можете использовать полный адрес электроящика или ваше имя пользователя. Чтобы использовать ваше имя пользователя для получений уведомлений, вам нужно указать корректный адрес электропочты на странице ''Настройки''.
     20
     21Так же, имя домена по умолчанию ('''`smtp_default_domain`''') может быть установлено в файле TracIni (смотрите [#ПараметрыНастроек Параметры настроек] ниже). В этом случае, доменное имя, используемое по умолчанию может быть добавлено к имени пользователя, это может быть полезно при использовании в "Интранет".
     22
     23== Настройка оповещений по SMTP ==
     24
     25'''Важно:''' Для корректной работы TracNotification параметр `[trac] base_url` должен быть установлен в [wiki:TracIni trac.ini].
     26
     27=== Параметры Настроек ===
     28Это возможные параметры секции `[notification]` в trac.ini.
     29
     30 * '''`smtp_enabled`''': Включить оповещение по электронной почте.
     31 * '''`smtp_from`''': Адрес ''Отправителя'' в заголовке электронных писем оповещений.
     32 * '''`smtp_from_name`''': Имя ''Отправителя'' в заголовке электронных писем оповещений.
     33 * '''`smtp_replyto`''': ''Обратный адрес'' в заголовке электронных писем оповещений.
     34 * '''`smtp_default_domain`''': (''с выпуска 0.10'') Добавляет этот домен к адресам, не содержащим домена. Fully qualified адреса это не затрагивает. Домен по умолчанию добавляется ко всем именам пользователей, у которых не определён адрес электропочты в пользовательских настройках.
     35 * '''`smtp_always_cc`''': Список адресатов, на которые всегда требуется отсылать изменения. ''Обычно используется для отправления всех обновлений задач на внешний список рассылок.''
     36 * '''`smtp_always_bcc`''': (''с выпуска 0.10'') Скрытый от всех получателей список адресатов, на которые всегда требуется отсылать изменения.
     37 * '''`smtp_subject_prefix`''': (''с выпуска 0.10.1'') Произвольный текст, который будет вставлен в начале темы сообщения. По умолчанию установлен "!__default!__".
     38 * '''`always_notify_reporter`''':  Всегда оповещать всех адресатов в поле создавшего задачу (по умолчанию отключено: false).
     39 * '''`always_notify_owner`''': (''с выпуска 0.9'') Всегда оповещать владельца задачи (по умолчанию отключено: false).
     40 * '''`always_notify_updater`''': (''с выпуска 0.10'') Всегда оповещать сделавшего обновление задачи (по умолчанию включено: true).
     41 * '''`use_public_cc`''': (''с выпуска 0.10'') Адреса в поле получателей: (создавший задачу, владелец задачи) и Cc: список получателей виден всем получателям (по умолчанию ''Bcc:'' - скрытая копия).
     42 * '''`use_short_addr`''': (''с выпуска 0.10'') Разрешить отправление оповещений по адресам, у которых отуствует домен (например оканчивается не ''@<domain.com>''). Этот параметр может пригодиться для Интранет, где SMTP сервер может обрабатывать локальные адреса и доставлять письма с такими адресами. Так же смотрите `smtp_default_domain`. Не используйте этот параметр с публичным SMTP сервером.
     43 * '''`mime_encoding`''': (''с выпуска 0.10'') Оповещения посылаются в представлении 7-bit. С помощью этого параметра можно выбрать тип MIME кодировки. Возможные значения:
     44   * `base64`: значение по умолчанию работает с любым содержимым. Может создавать проблемы с анти-спам/анти-вирус системами.
     45   * `qp` или `quoted-printable`: лучше для европейских языков (компактней, чем base64), не рекомендуется для текста, отличного от ASCII (объёмней, чем base64)
     46   * `none`: без кодировки. Используйте только с английским (ASCII). Письма с символами, отличными от ASCII не будут доставлены.
     47 * '''`ticket_subject_template`''': (''с выпуска 0.11'') [http://genshi.edgewall.org/wiki/Documentation/text-templates.html Текстовый шаблон Genshi] для изменения темы письма оповещения.
     48 * '''`email_sender`''': (''с выпуска 0.12'') Компонент, исполняющий функцию `IEmailSender`. Этот компонент используется системой оповещений для отправки электронных писем. Trac поддерживает следующие компоненты:
     49   * `SmtpEmailSender`: соединяется с SMTP сервером (по умолчанию).
     50   * `SendmailEmailSender`: исполняется внешнее приложение, совместимое с `sendmail`.
     51
     52Либо '''`smtp_from`''', либо '''`smtp_replyto`''' (или оба) ''должны'' быть определены, иначе Trac не будет отправлять оповещения.
     53
     54Следующие параметры относятся только к доставке оповещений через SMTP.
     55 * '''`smtp_server`''': Адрес SMTP сервера для доставки оповещений.
     56 * '''`smtp_port`''': (''с выпуска 0.9'') Порт, используемый для соединения с SMTP сервером.
     57 * '''`smtp_user`''': (''с выпуска 0.9'') Имя пользователя для аутентификации аккаунта на SMTP сервере.
     58 * '''`smtp_password`''': (''с выпуска 0.9'') Пароль для аутентификации аккаунта на SMTP сервере.
     59 * '''`use_tls`''': (''с выпуска 0.10'') Включите для отправления оповещений через SMTP сервер с использованием [http://en.wikipedia.org/wiki/Transport_Layer_Security TLS], например как GMail.
     60
     61Следующие параметры относятся только к доставке оповещений через внешнее приложение, совместимое с `sendmail`.
     62 * '''`sendmail_path`''': (''с выпуска 0.12'') Путь к исполняемому файлу sendmail. Программа sendmail должна поддерживать командные параметры `-i` и `-f`.
     63
     64=== Пример настройки (SMTP) ===
     65{{{
     66[notification]
     67smtp_enabled = true
     68smtp_server = mail.example.com
     69smtp_from = notifier@example.com
     70smtp_replyto = myproj@projects.example.com
     71smtp_always_cc = ticketmaster@example.com, theboss+myproj@example.com
     72}}}
     73
     74=== Пример настройки (`sendmail`) ===
     75{{{
     76[notification]
     77smtp_enabled = true
     78email_sender = SendmailEmailSender
     79sendmail_path = /usr/sbin/sendmail
     80smtp_from = notifier@example.com
     81smtp_replyto = myproj@projects.example.com
     82smtp_always_cc = ticketmaster@example.com, theboss+myproj@example.com
     83}}}
     84
     85=== Изменение темы сообщения ===
     86Тема сообщения может быть изменена с помощью параметра `ticket_subject_template` , который содержит [http://genshi.edgewall.org/wiki/Documentation/text-templates.html Текстовый шаблон Genshi]. Значение по умолчанию:
     87{{{
     88$prefix #$ticket.id: $summary
     89}}}
     90Следующие переменные можно использовать в шаблоне:
     91
     92 * `env`: Окружение проекта (смотрите [trac:source:/trunk/trac/env.py env.py]).
     93 * `prefix`: Префикс, описанный в `smtp_subject_prefix`.
     94 * `summary`: Описание задачи, прежнее описание в том случае, если в описание задачи были внесены изменения.
     95 * `ticket`: Объект "задача" (смотрите [trac:source:/trunk/trac/ticket/model.py model.py]). Определённые поля в задаче могут быть использованы добавлением имени поля через точку, например `$ticket.milestone`.
     96
     97=== Изменение содержимого оповещений ===
     98
     99Содержание контента оповещений генерируется на основе `ticket_notify_email.txt` в `trac/ticket/templates`. По умолчанию содержимое файла:
     100
     101{{{
     102$ticket_body_hdr
     103$ticket_props
     104#choose ticket.new
     105  #when True
     106$ticket.description
     107  #end
     108  #otherwise
     109    #if changes_body
     110Changes (by $change.author):
     111
     112$changes_body
     113    #end
     114    #if changes_descr
     115      #if not changes_body and not change.comment and change.author
     116Description changed by $change.author:
     117      #end
     118$changes_descr
     119--
     120    #end
     121    #if change.comment
     122
     123Comment${not changes_body and '(by %s)' % change.author or ''}:
     124
     125$change.comment
     126    #end
     127  #end
     128#end
     129
     130--
     131Ticket URL: <$ticket.link>
     132$project.name <${project.url or abs_href()}>
     133$project.descr
     134}}}
     135== Пример оповещения ==
     136{{{
     137#42: testing
     138---------------------------+------------------------------------------------
     139       Id:  42             |      Status:  assigned               
     140Component:  report system  |    Modified:  Fri Apr  9 00:04:31 2004
     141 Severity:  major          |   Milestone:  0.9                     
     142 Priority:  lowest         |     Version:  0.6                     
     143    Owner:  anonymous      |    Reporter:  jonas@example.com               
     144---------------------------+------------------------------------------------
     145Changes:
     146  * component:  changset view => search system
     147  * priority:  low => highest
     148  * owner:  jonas => anonymous
     149  * cc:  daniel@example.com =>
     150         daniel@example.com, jonas@example.com
     151  * status:  new => assigned
     152
     153Comment:
     154I'm interested too!
     155
     156--
     157Ticket URL: <http://example.com/trac/ticket/42>
     158My Project <http://myproj.example.com/>
     159}}}
     160
     161== Использование Gmail в качестве SMTP сервера ==
     162
     163Используйте следующий пример конфигурации:
     164{{{
     165[notification]
     166smtp_enabled = true
     167use_tls = true
     168mime_encoding = base64
     169smtp_server = smtp.gmail.com
     170smtp_port = 587
     171smtp_user = user
     172smtp_password = password
     173}}}
     174
     175где ''user'' и ''password'' соответствуют существующему аккаунту в Gmail, то есть тому, что вы вводите для входа в [http://gmail.com]
     176
     177Так же можно использовать `smtp_port = 25`.[[br]]
     178Не используйте `smtp_port = 465`. Это не будет работать и система оповещений может остановиться. 465 порт зарезервирован под протоколом SMTPS, который не поддерживается Trac. Смотрите [comment:ticket:7107:2 #7107] для более подробных деталей.
     179 
     180== Фильтр оповещений собственных изменений ==
     181В Gmail используйте следующий фильтр:
     182
     183{{{
     184from:(<smtp_from>) (("Reporter: <username>" -Changes) OR "Changes (by <username>)")
     185}}}
     186
     187В случае Trac .10 следующий фильтр:
     188{{{
     189from:(<smtp_from>) (("Reporter: <username>" -Changes -Comment) OR "Changes (by <username>)" OR "Comment (by <username>)")
     190}}}
     191
     192чтобы удалить эти оповещения.
     193
     194Для Thunderbird нет решения в случае использования IMAP
     195(смотрите http://kb.mozillazine.org/Filters_(Thunderbird)#Filtering_the_message_body).
     196
     197Лучшее решение - установить значение "false" для параметра "always_notify_updater" в conf/trac.ini.
     198Однако вы всё равно будете получать оповещения о вашем комментарии к задаче, которую вы опубликовали или владельцем которой вы являетесь.
     199
     200Вы можете попробовать это дополнение:
     201http://trac-hacks.org/wiki/NeverNotifyUpdaterPlugin
     202
     203== Возможные неполадки ==
     204
     205Если у вас не получается включить оповещения, сперва убедитесь, что у вас активировано журналирование, проверьте в журнале наличие ошибок. смотрите раздел TracLogging для подробностей о журналировании.
     206
     207Ошибки оповещений не сообщаются в веб-интерфейсе, поэтому пользователь, опубликовавший изменение в задаче или новую задачу не будет уведомлен о невозможности оповещения или сбое системы оповещений. Администратор Trac может посмотреть журнал и найти сообщение об ошибке.
     208
     209=== Ошибка ''Доступ запрещён'' ===
     210
     211Пример такой ошибки:
     212{{{
     213  ...
     214  File ".../smtplib.py", line 303, in connect
     215    raise socket.error, msg
     216  error: (13, 'Permission denied')
     217}}}
     218
     219Эта ошибка может быть вызвана настройками безопасности на сервере: множество Linux дистрибутивов не позволяют веб-серверу (Apache, ...) доставлять сообщения на локальный SMTP сервер.
     220
     221Многие пользователи сбиваются с толку из-за того, что попытка соединиться с SMTP сервером вручную удаётся:
     222{{{
     223telnet localhost 25
     224}}}
     225Проблема в том, что обычный пользователь может соединиться с SMTP сервером, но не веб-сервер:
     226{{{
     227sudo -u www-data telnet localhost 25
     228}}}
     229
     230В таком случае вы должны настроить свой сервер таким образом, чтобы веб-сервер имел доступ к отправлению сообщений через SMTP сервер. Настройки отличаются в разных дистрибутивах Linux и зависят от текущих настроек безопасности. Вы можете найти решение в архиве [trac:MailingList Списка рассылки] Trac.
     231
     232Полезные ветки в списке рассылки:
     233 * SELinux: http://article.gmane.org/gmane.comp.version-control.subversion.trac.general/7518
     234
     235Для SELinux в Fedora 10:
     236{{{
     237$ setsebool -P httpd_can_sendmail 1
     238}}}
     239=== ''Нежелательная почта'' ===
     240
     241Некоторые SMTP сервера могут отклонять оповещения, отправленные Trac.
     242
     243Конфигурация Trac по умолчанию использует кодировку Base64 для отправляемых писем. Всё тело сообщения закодировано, что иногда даёт ''ложное срабатывание'' на нежелательную почту у параноидальных серверов электронной почты. В таком случае рекомендуется изменить кодировку на "quoted-printable" в параметре `mime_encoding`.
     244
     245Кодировку quoted-printable ремомендуется использовать только с латинскими таблицами символов. Для азиатских таблиц символов рекомендуется использовать кодировку Base64.
     246
     247=== Ошибка ''501, 5.5.4 Invalid Address'' ===
     248
     249С IIS 6.0 вы можете получить такое собщение в журнале Trac:
     250{{{
     251Failure sending notification on change to ticket #1: SMTPHeloError: (501, '5.5.4 Invalid Address')
     252}}}
     253[http://support.microsoft.com/kb/291828 Здесь] приводятся инструкции по решению этого.
     254
     255
     256----
     257Так же смотрите: TracTickets, TracIni, TracGuide