Übersetzung von Rev. 43

Email-Konfiguration

Konfigurationsregeln

Diese Seite ist unvollständig. Die folgenden Konfigurationsanweisungen stellen nur ein Ausschnitt dar. Weitere Informationen dazu sind in Action Mailer Configuration zu finden.

Die Einstellungen werden in der Datei config/configuration.yml gesetzt. Hier werden zwei erklärungswürdige Einstellungen beschrieben.

Authentifizierung

Die Art der Authentifizierungsmehtode, die vom Service-Provider erwartet wird.

Gültige Werte:

  • nil (oder das Weglassen des Schlüssels und Wertes): keine Authentifizierung
  • :plain
  • :login
  • :cram_md5

Hinweis: wenn diese Einstellung auf nil gesetzt oder weggelassen wird, so muss die Einstelluneng user_name und password auch weggelassen werden.

delivery_method

Die zu verwendende Transportmethode für die Emailversand.

Gültige Werte:

  • :smtp
  • :sendmail
  • :async_smtp
  • :async_sendmail

Asynchrone Versandmethoden

Mit den Werten :async_smtp und :async_sendmail wird asynchron versendet. Das heißt, dass Redmine nicht wartet bis die Email versandt wurde, um die nächste Seite anzuzeigen. Mehr Informationen sind unter Asynchroner Emailversand zu finden. Einige SMTP-Server haben ein Anti-Spam-Feature, das die Verarbeitung der Emails verzügert, so dass bei synchronen Versandmethoden Redmine blockiert wird (10 Sekunden könnten wohl ein üblicher Wert sein; weitere Informationen dazu im Ticket #11376).

Bei dieser Versandmethode wird in der SMTP-Konfiguration der Schlüssel async_smtp_settings verwendet:

development:
  email_delivery:
    delivery_method: :async_smtp
    async_smtp_settings:           # anstatt smtp_settings:  
      address: "example.com" 
      # ...

configuration.yml-Beispielkonfigurationen

Einfache Authentifizierung (Standardvorgaben)

# Outgoing email settings

production:
  email_delivery:
    delivery_method: :smtp
    smtp_settings:
      address: smtp.example.net
      port: 25
      domain: example.net
      authentication: :login
      user_name: redmine@example.net
      password: redmine

development:
  email_delivery:
    delivery_method: :smtp
    smtp_settings:
      address: 127.0.0.1
      port: 25
      domain: example.net
      authentication: :login
      user_name: redmine@example.net
      password: redmine

Für GMail/Google Apps oder andere SMTP-Server, die TLS benötigen
, sind einige TLS-bezogene Einstellung hinzuzufügen:
production:
  email_delivery:
    delivery_method: :smtp
    smtp_settings:
      enable_starttls_auto: true
      address: "smtp.gmail.com" 
      port: '587'
      domain: "smtp.gmail.com" 
      authentication: :plain
      user_name: "your_email@gmail.com" 
      password: "your_password" 

Es folgt ein Beispiel für Office 365 (Exchange Online). Der Versender muss ein Konto haben, oder falls der Versand über eine Shared Mailbox (also wenn es kein exklusives Konto für Redmine ist) erfolgen soll, so muss das Konto den hier definierten Benutzer die Berechtigung für den Versand geben:

production:
  email_delivery:
    delivery_method: :smtp
    smtp_settings:
      enable_starttls_auto: true
      address: "smtp.office365.com" 
      port: '587'
      domain: "your_domain.com" 
      authentication: :login
      user_name: "email@your_domain.com" 
      password: "password" 

Dieses Beispiel wird jedoch nur mit entsprechend aktuellen Ruby- und Rails-Version möglich sein (1.8.7 patchset 2xx, bzw. 2.3.5).
(Infos: #5814)

Ohne Authentifizierung

Beispiel für ein SMPT-Serviceanbieter ohne Authentifizierung.

production:
  email_delivery:
    delivery_method: :smtp
    smtp_settings:
      address: smtp.knology.net
      port: 25
      domain: cybersprocket.com

Verwendung von sendmail

Beispiel für ein unixoides System, das /usr/sbin/sendmail verwendet.

production:
  email_delivery:
    delivery_method: :sendmail

Troubleshooting

Error: "hostname was not match with the server certificate"

Wenn dieser Fehler auftritt, dann gibt es vermutlich ein Problem mit dem SSL-Zertifikat des SMTP-Relays. Vorübergehend kann diese Einstellung im Abschnitt email_delivery gesetzt werden:

enable_starttls_auto: false

Error: "Mail failure - no recipient addresses"

Beim Auftreten dieses Fehlers kann die Nachricht nicht an die Zieladresse gesendet werden. Häufig wird stattdessen eine Nachricht an die Email-Adresse des Absenders gesendet, in welcher in den Headers "From:"-Felder zu sehen sind, jedoch keine "To:"-Felder.

Dieser Fehler kommt auf Grund dessen, wie exim4 standardmäßig konfiguriert ist ("-i -t"), bei Debian-System öfters vor. Jene Konfiguration teilt exim4 mit, dass die Zieladresse in den Headers der Nachricht enthalten ist. Stattdessen soll aber exim4 angewiesen werden, die Zieladdresse von der Kommandozeile zu lesen.

Die Lösung besteht darin, dass config/configuration.yml dahingehend angepasst wird, dass die Einstellung arguments mit dem Wert "-i" enthalten ist:

# default configuration options for all environments
default:
  email_delivery:    
    delivery_method: :sendmail
    sendmail_settings:
      arguments: "-i" 

Das obige Beispiel verwendet die Methode :sendmail, welche sendmail_settings erfordert. Für den Fall, dass die Methode :smpt oder :async_smpt eingestellt ist, ist smtp_settings zu verwenden.

Error: "Timeout:Error" due to SSL SMTP server connection

Hier muss eine SSL-Einstellung zur Konfiguration in configuration.yml hinzugefügt werden (#17239).

default:
  # Outgoing emails configuration (see examples above)
  email_delivery:
    delivery_method: :smtp
  smtp_settings:
    address: smtp.domain.com
    port: 465
    ssl: true
    enable_starttls_auto: true
    domain: domain.com
    authentication: :login
    user_name: redmine@domain.com
    password: xxxx

Weitere Informationen

Action Mailer Configuration