Email-Benachrichtigung bei Ticket-Veränderungen

Diese Trac-Installation ist derzeit konfiguriert, KEINE EMails zu versenden!

Grundsätzlich erlaubt Trac aber den Versand von EMails, sobald ein Ticket geändert wird.

Mailbenachrichtigung ist nützlich, um Benutzer über Tickets, die sie interessieren, auf dem Laufenden zu halten, und bietet darüber hinaus auch eine einfache Methode, diese Veränderungsmeldungen an eine Mailingliste zu versenden.

Standardmäßig ist der Mailversand abgeschaltet, er wird in der trac.ini aktiviert und konfiguriert.

Benachrichtigungen empfangen

Beim Erstellen eines neuen Tickets oder Kommentars reicht es, eine gültige Mailadresse in das Feld reporter, assigned to/owner oder cc einzutragen. Trac wird automatisch eine Mail schicken, sobald Veränderungen am Ticket vorgenommen werden (abhängig davon, wie dieses Feature konfiguriert ist).

Die Benachrichtigung halten dich auf dem Laufenden über ein Problem oder eine Erweiterung, die dich interessiert.

SMTP-Konfiguration der Benachrichtigung

Konfigurationsoptionen

Diese Optionen regeln den Versand von Benachrichtigungen in der Sektion [notification] in trac.ini.

  • smtp_enabled: Aktivieren oder Deaktivieren des Features.
  • smtp_server: SMTP-Server, der zum Versand benutzt werden soll.
  • smtp_user: (seit 0.9) Username für SMTP-Authentifizierung.
  • smtp_password: (seit 0.9) Passwort für SMTP-Authentifizierung.
  • smtp_from: Mailadresse, die in Sender-Headern benutzt wird.
  • smtp_replyto: Mailadresse für Reply-To-Header.
  • smtp_default_domain: (seit 0.10) Diese Domain wird allen Mailadressen hinzugefügt, die keine Domainangabe haben. Adressen mit vollständiger Domainangabe werden nicht verändert. Die Standarddomain wird allen Usernamen/Logins hinzugefügt, bei denen keine Mailadresse in den Benutzereinstellungen gefunden wird.
  • smtp_always_cc: Liste von Mailadressen, an die jede Benachrichtigung als CC gesendet wird. Wird üblicherweise genutzt, um eine Mailingliste zu informieren.
  • smtp_always_bcc: (seit 0.10) Liste von Mailadressen, an die jede Benachrichtigung als BCC gesendet wird.
  • always_notify_reporter: Der Ticketmelder erhält immer eine Benachrichtigung.
  • always_notify_owner: (seit 0.9) Der Ticketbesitzer erhält immer eine Benachrichtigung.
  • always_notify_updater: (seit 0.10) Der Aktualisierer eines Tickets erhält immer eine Benachrichtigung.
  • use_public_cc: (seit 0.10) Adressen in To- (owner, reporter) und Cc-Listen sind für alle Empfänger sichtbar (Standard ist Bcc:).
  • use_short_addr: (seit 0.10) Aktiviert die Benachrichtigung an Adressen, die keine Domain enthalten (d.h. die nicht mit @<example.org> enden). Nützlich für Intranets, in denen der SMTP-Server mit diesen Kurzadressen umgehen und den Usernamen einer Mailbox zuordnen kann. Siehe auch smtp_default_domain. Diese Option sollte nicht in Verbindung mit öffentlichen SMTP-Servern genutzt werden.
  • mime_encoding: (seit 0.10) Benachrichtigungen werden immer im 7-bit-Modus verschickt. Diese Option erlaubt, ein Mime-Encoding zu wählen. Unterstützte Werte:
    • base64: Standardwert, funktioniert mit allen Arten von Content. Kann unter Umständen Probleme mit einigen empfindlichen Antispam- oder Antivirus-Programmen verursachen.
    • qp or quoted-printable: Die Beste Option für europäische Sprachen (kompakter als base64), nicht empfehlenswert für Nicht-ASCII-Text (benötigt dann mehr Bytes als base64)
    • none: Kein Encoding. Nur für Standard-ASCII und englische Sprache. Mails mit Nicht-ASCII-Zeichen werden nicht verschickt werden.

Mindestens smtp_from oder smtp_replyto (oder beide) müssen definiert sein, andernfalls verschickt Trac keine Mails.

Beispielkonfiguration

[notification]
smtp_enabled = true
smtp_server = mail.example.com
smtp_from = notifier@example.com
smtp_replyto = myproj@projects.example.com
smtp_always_cc = ticketmaster@example.com, theboss+myproj@example.com

Beispielbenachrichtigung

#42: testing
---------------------------+------------------------------------------------
       Id:  42             |      Status:  assigned                
Component:  report system  |    Modified:  Fri Apr  9 00:04:31 2004
 Severity:  major          |   Milestone:  0.9                     
 Priority:  lowest         |     Version:  0.6                     
    Owner:  anonymous      |    Reporter:  jonas@example.com               
---------------------------+------------------------------------------------
Changes:
  * component:  changset view => search system
  * priority:  low => highest
  * owner:  jonas => anonymous
  * cc:  daniel@example.com =>
         daniel@example.com, jonas@example.com
  * status:  new => assigned

Comment:
I'm interested too!

--
Ticket URL: <http://example.com/trac/ticket/42>
My Project <http://myproj.example.com/>

Problembehebung

Wenn das Benachrichtigungsfeature nicht zum Laufen gebracht werden kann, sollte als erstes das Logging aktiviert und eventuelle Fehlermeldungen im Log beachtet werden. In TracLogging steht mehr zum Logging in Trac.

Fehler bei der Benachrichtigung werden nicht im Webinterface angezeigt, also wird der Benutzer, der eine Änderung in einem Ticket einträgt, nie darüber informiert, dass eine Benachrichtigung nicht versendet werden konnte. Der Trac-Administrator muß die Logdateien prüfen, um die Fehlermeldungen zu finden.

Permission denied Fehler

Typische Fehlermeldung:

  ...
  File ".../smtplib.py", line 303, in connect
    raise socket.error, msg
  error: (13, 'Permission denied')

Dieser Fehler tritt oft aufgrund von Sicherheitseinstellungen auf: Viele Linux-Distributionen erlauben dem Webserver (Apache,...) nicht, direkt mit dem lokalen SMTP-Server Mails zu versenden.

Verwirrend dabei ist, dass die manuellen Versuche, den SMTP-Server zu kontaktieren, funktionieren:

telnet localhost 25

Das Problem liegt darin, dass ein normaler User-Account den SMTP-Server kontaktieren darf, der Webserver aber nicht:

sudo -u www-data telnet localhost 25

In solch einem Fall muß der Server so konfiguriert werden, dass der Webserver autorisiert ist, per SMTP Mails zu versenden. Die dafür notwendige Anpassung hängt von der benutzten Distribution ab. Hilfe könnte im Archiv der Trac MailingList gespeichert sein.

Relevante threads:

Suspected spam Fehler

Einige SMTP-Server verweigern die Annahme von Benachrichtigungen von Trac.

Die Standardkonfiguration nutzt Base64 als Encoding für Mails. Der gesamte Inhalt der Mail ist codiert, was manchmal zu fälschlichen Spam-Erkennungen von allzu sensibel eingestellten Spamfiltern führt. In solchen Fällen ist es ratsam, das Encoding auf "quoted-printable" umzustellen (Option mime_encoding).

"Quoted-printable" funktioniert mit Sprachen, die Latin-Zeichensätze benutzen, besser. Asiatische Zeichensätze hingegen verbrauchen damit mehr Speicher - es wird empfohlen, bei base64 zu bleiben.


Weiterführende Informationen: TracTickets, TracIni, TracGuide


Übersetzt von Sven Rautenberg, SELFHTML e.V.

Diese deutsche Übersetzung der Original-Trac-Wikiseite ist lizensierbar unter Creative Commons BY-SA: Namensnennung, Weitergabe unter gleichen Bedingungen.