Email Konfiguration¶

In ownCloud ist das Senden von E-Mails beim Passwort-Reset, bei der Benachrichtigung der Benutzer über neue Dateifreigaben, bei Änderungen an Dateien und bei Aktivitäten als Benachrichtigung möglích. Ihre Benutzer können auf ihren persönlichen Seiten konfigurieren, welche Benachrichtigungen sie erhalten möchten.

ownCloud enthält keinen vollständigen E-Mail-Server, sondern eine Verbindung zu Ihrem vorhandenen Mail-Server. Sie müssen eine funktionierenden Mail-Server haben damit ownCloud in der Lage ist, E-Mails zu senden. Sie können einen Mail-Server auf der gleichen Maschine wie ownCloud verwenden, oder es kann auch ein Remote-Server sein.

In ownCloud 7 wurde eine neue Funktion, der grafischen E-Mail-Konfigurationsassistent, eingeführt.

../_images/smtp-config-wizard.png

Mit dem neuen Assistenten ist es schnell und einfach ownCloud mit dem Mail-Server zu verbinden. Der Assistent fügrt die entsprechenden Werte in der config/config.php ein, so können Sie entweder den Assistenten oder die manueller Eingabe verwenden, so wie Sie es bevorzugen.

Der ownCloud Email Assistent unterstützt drei Arten von Mail-Server-Verbindungen: SMTP, PHP und Sendmail. Verwenden Sie den SMTP-Konfigurator für einen Remote-Server und PHP oder Sendmail, wenn Ihr Mail-Server auf der gleichen Maschine wie ownCloud läuft.

Hinweis

Die Option bezieht sich ganz auf Sendmail des Sendmail SMTP-Servers, und jeden Drop-in-Ersatz in Sendmail, wie Postfix, Exim oder Courier. Dazu zählen das sendmail Binary, und das ist frei austauschbar.

Konfigurieren des SMTP Servers¶

Sie benötigen die folgenden Informationen von Ihrem Mailserver-Administrator, um ownCloud mit einem Remote-SMTP-Server zu verbinden:

  • Verschlüsselungstyp: None, SSL, or TLS
  • Die Absenderadresse, die Sie für Ihre ausgehenden ownCloud Mails verwenden möchten
  • Ob eine Authentifizierung erforderlich ist
  • Authentifizierungmethode, Login, Plain, oder NT LAN Manager
  • IP-Adresse oder den vollqualifizierten Domänennamen des Servers
  • Login-Daten, falls erforderlich
../_images/smtp-config-smtp.png

Die Änderungen werden sofort gespeichert, und Sie können Sie sofort testen, in dem Sie auf die Schaltfläche E-Mail klicken. Dann wird eine Testnachricht an die Email-Adresse, die Sie auf Ihrer persönlichen Seite konfiguriert haben, gesendet. Die Testmeldung heißt:

If you received this email, the settings seem to be correct.

--
ownCloud
web services under your control

Konfigurieren von PHP und Sendmail¶

Das Konfigurieren von PHP oder Sendmail verlangt nur, dass Sie eine von Ihren gewünschte Absender-Adresse angeben.

../_images/smtp-config-php-sendmail.png

Wie entscheiden Sie, welche sie benutzen möchten ? Der PHP-Modus verwendet Ihre lokales sendmail Binary. Beim Verwenden Sie dieser Funktion, wird die php.ini eingesetzt um die Server-Funktionen für Ihre Mail-Kontrolle, wie z.Bsp. die Einstellung Wege, Kopf- oder Weitergabe zusätzlicher Befehls-Optionen, an das sendmail Binary weiterzugeben. Das variiert je nach dem welchen Server Sie verwenden. Für weitere Details sollten Sie die Dokumentation des Servers lesen, um zu sehen, welche Möglichkeiten Sie hier haben.

In den meisten Fällen ist die smtp Option die Beste, weil es den zusätzlichen Schritt PHP zu konfigurieren überspringt, und Sie können alle Ihre E-Mail-Server-Optionen in einer Steuerung an einem Ort, in der Mail-Server-Konfiguration, einstellen.

Verwenden von E-Mail-Vorlagen¶

Eine weitere nützliche Neuerung sind die editierbaren E-Mail-Vorlagen. Jetzt können Sie ownCloud-Mail Vorlagen auf Ihrem Admin-Seite bearbeiten. Das sind Ihre verfügbaren Vorlagen:

  • Freigebe E-Mail (HTML) - HTML-Version der E-Mails benachrichtigt Nutzer der neuen Dateifreigabe
  • Freigebn E-Mail (Klartext-Fallback) - Klartext E-Mail Benachrichtigung der Benutzer der neuen Dateifreigabe
  • Passwort vergessen Mail - Kennworts E-Mail für Benutzer, die ihre Kennwort vergessen haben.
  • Aktivität Benachrichtigungsmail - Meldung von Aktivitäten, die Benutzer im Abschnitt Benachrichtigungen ihrer Persönliche Seiten aktiviert haben.

Neben der Bereitstellung der E-Mail-Vorlagen, in dieser Funktion, können Sie alle vorkonfigurierten Themen verwenden, mit denen Sie E-Mails versenden wollen.

So ändern Sie eine E-Mail-Vorlage für die Nutzer:

  1. Greifen Sie auf die Admin-Seite zu.
  2. Blättern Sie zum E-Mail-Abschnitt.
  3. Wählen Sie eine Vorlage aus dem Drop-down-Menü aus.
  4. Nehmen Sie die gewünschten Änderungen an der Vorlage vor.

Die Vorlagen sind in PHP und HTML geschrieben und sind bereits mit den relevanten Variablen wie Benutzername, der zu teilen Links und den Dateinamen, versehen. Sie können, wenn Sie vorsichtig sind, diese auch bearbeiten ohne über PHP oder HTML Wissen zu verfügen; verändern Sie daher den Code nicht, aber Sie können die Textteile der Nachrichten problemlos bearbeiten. Beispielsweise können Sie die E-Mail-Vorlage Passwort vergessen ? verändern:

<?php

   echo str_replace('{link}', $_['link'], $l->t('Use the following link to
   reset your password: {link}'));

Sie konnten den Textteil der Vorlage zu ändern, in dem Sie statt Verwenden Sie den folgenden Link, um Ihr Passwort zurückzusetzen: etwas anderes, wie zum Beispiel Klicken Sie auf den folgenden Link, um Ihr Passwort zurückzusetzen. Wenn Sie nicht nach einem Passwort-Reset gefragt haben, dann ignorieren Sie diese Meldung. sagen.

Auch hier sollten Sie sehr vorsichtig sein, um nichts anderes als den Nachrichtentext zu ändern, da der kleinste Codierungsfehler wird die Vorlage beschädigt.

Hinweis

Sie können die Vorlagen direkt in dem Vorlage Textfeld bearbeiten, oder Sie kopieren diesen, in einen Text-Editor um ihn dort zu modifizieren und fügen das dann wieder wieder in das Textfeld der Vorlage für die Verwendung ein, wenn Sie mit dem Bearbeiten fertig sind.

Einstellung der Mail-Server-Parameter in der config.php¶

Wenn Sie es vorziehen, können Sie Ihre E-Mail-Server-Parameter auch in der config/config.php einstellen. Die folgenden Beispiele zeigen das für SMTP, PHP, Sendmail und Qmail.

SMTP¶

Wenn Sie E-Mails mit einem lokalen oder Remote-SMTP-Server senden wollen, ist es notwendig, den Namen oder die IP-Adresse des Servers anzugeben, wahlweise mit einem durch einen Doppelpunkt getrennten Portnummer, z.Bsp. :425. Wird dieser Wert nicht als Standard verwendet, wird Port 25/TCP verwendet, wenn Sie das ändern, muß auch der mail_smtpport Parameter angepaßt werden. Sie können mehrere Server eingetragen, in dem Sie diese durch einen Strichpunkt getrennt angeben:

<?php
  "mail_smtpmode"     => "smtp",
  "mail_smtphost"     => "smtp-1.server.dom;smtp-2.server.dom:425",
  "mail_smtpport"     => 25,

oder

<?php
  "mail_smtpmode"     => "smtp",
  "mail_smtphost"     => "smtp.server.dom",
  "mail_smtpport"     => 425,

Wenn ein Malware oder Spam-Scanner auf dem SMTP-Server ausgeführt wird, kann es sein, das es notwendig ist, dass Sie den SMTP-Timeout, um z.Bsp. auf 30s erhöhen:

<?php
  "mail_smtptimeout"  => 30,

Wenn der SMTP-Server unsichere Verbindungenakzeptiert, kann die Standardeinstellung verwendet werden:

<?php
 "mail_smtpsecure"   => '',

Wenn der SMTP-Server nur sichere Verbindungen akzeptiert können Sie wählen zwischen den beiden folgenden Varianten:

SSL¶

Wird auf Basis des veralteten SMTPS-Protokoll eine sichere Verbindung initiiert. wird der Port 465/TCP verwendet:

<?php
  "mail_smtphost"     => "smtp.server.dom:465",
  "mail_smtpsecure"   => 'ssl',

TLS¶

Wird mit Hilfe der STARTTLS-Protokoll eine sichere Verbindung initiiert, wird der Standard-Port 25/TCP verwendet:

<?php
  "mail_smtphost"     => "smtp.server.dom",
  "mail_smtpsecure"   => 'tls',

Und schließlich ist es notwendig, die Authentifizierung zu konfigurieren, wenn der SMTP-Server dies benötigt, wenn nicht, können die Standardwerte genommen werden, so wie sie sind.

<?php
  "mail_smtpauth"     => false,
  "mail_smtpname"     => "",
  "mail_smtppassword" => "",

Wenn die SMTP-Authentifizierung erforderlich ist, müssen Sie die erforderlichen Benutzernamen und Ihr Passwort einsetzen und Sie können dann wahlweise zwischen den Authentifizierungstypen LOGIN (voreingestellt) oder PLAIN wählen.

<?php
  "mail_smtpauth"     => true,
  "mail_smtpauthtype" => "LOGIN",
  "mail_smtpname"     => "username",
  "mail_smtppassword" => "password",

PHP mail¶

Wenn Sie PHP-Mails verwenden möchten ist es notwendig, ein installiertes E-Mail-System auf Ihrem Server zu haben. Welches Programm im Detail wird verwendet, um E-Mail senden ist von den Konfigurationseinstellungen in der php.ini Datei abhängig. (Auf * nix Systeme dieses wird wahrscheinlich Sendmail sein.) ownCloud sollte in der Lage sein, E-Mails aus der Box zu senden.

<?php
  "mail_smtpmode"     => "php",
  "mail_smtphost"     => "127.0.0.1",
  "mail_smtpport"     => 25,
  "mail_smtptimeout"  => 10,
  "mail_smtpsecure"   => "",
  "mail_smtpauth"     => false,
  "mail_smtpauthtype" => "LOGIN",
  "mail_smtpname"     => "",
  "mail_smtppassword" => "",

Sendmail¶

Wenn Sie das bekannte Sendmail-Programm verwenden, um E-Mails zu senden, ist es notwendig, eine installiertes und funktionierendes E-Mail-System auf Ihrem * nix-Server zu haben. Das sendmail-Binary unter (/usr/sbin/sendmail) ist in der Regel Teil dieses Systems. ownCloud sollte in der Lage sein, E-Mail aus der Box zu senden.

<?php

  "mail_smtpmode"     => "sendmail",
  "mail_smtphost"     => "127.0.0.1",
  "mail_smtpport"     => 25,
  "mail_smtptimeout"  => 10,
  "mail_smtpsecure"   => "",
  "mail_smtpauth"     => false,
  "mail_smtpauthtype" => "LOGIN",
  "mail_smtpname"     => "",
  "mail_smtppassword" => "",

qmail¶

Wenn Sie das Qmail Programm verwenden, um E-Mails zu versenden, ist es notwendig, eine installiertes und funktionierendes Qmail eMail-Systems auf Ihrem Server zu haben. Das sendmail-Binary unter (/var/qmail/bin/sendmail) wird dann verwendet, um E-Mail zu senden. ownCloud sollte dann in der Lage sein, E-Mails aus der Box zu senden.

<?php
  "mail_smtpmode"     => "qmail",
  "mail_smtphost"     => "127.0.0.1",
  "mail_smtpport"     => 25,
  "mail_smtptimeout"  => 10,
  "mail_smtpsecure"   => "",
  "mail_smtpauth"     => false,
  "mail_smtpauthtype" => "LOGIN",
  "mail_smtpname"     => "",
  "mail_smtppassword" => "",

Senden einer Test Email¶

Um Ihre E-Mail-Konfiguration zu testen, speichern Sie Ihre E-Mail-Adresse in Ihren persönlichen Einstellungen und verwenden Sie dann den Send email Button in dem Email Server Abschnitt auf der Seite Admin-Einstellungen, um die Test-E-Mail zu versenden.

Fehlerbehebung¶

Wenn Sie keine E-Mail versendet wird, versuchen Sie, das Debugging zu aktivieren. Tun Sie das, indem Sie den mail_smtpdebug parameter in der config/config.php ändern.

<?php

  "mail_smtpdebug" => true;

Hinweis

Unmittelbar nach dem Drücken des Send email Buttons, werden wie beschrieben, mehrere SMTP -> get_lines(): ... Meldungen auf dem Bildschirm erscheinen. Dieses Verhalten ist normal und kann ignoriert werden.

Frage: Warum heißt die Web-Domain anders als meine Mail-Domain ?

Antwort: Der Standard-Domänenname der für die Absender-Adresse verwendet wird, ist der Hostname wo sich Ihre ownCloud Installation befindet. Wenn Sie eine andere Mail-Domäne benennen möchten, können Sie dieses Verhalten ändern, indem Sie den folgende Parameter durch überschreiben konfigurieren:

<?php

  "mail_domain" => "example.com",

Mit dieser Einstellung werden alle E-Mails von ownCloud (zum Beispiel die Passwort-Reset E-Mail) mit dem Domänenteil der Absenderadresse gesendet, dasd dann wie folgt aussieht:

no-reply@example.com

Frage: Wie kann ich herausfinden , ob ein SMTP-Server erreichbar ist ?

Antwort: Verwenden Sie den Befehl ping, um den Server zu überprüfen:

ping smtp.server.dom
PING smtp.server.dom (ip-address) 56(84) bytes of data.
64 bytes from your-server.local.lan (192.168.1.10): icmp_req=1 ttl=64
time=3.64ms

Frage: Wie kann ich herausfinden, ob der SMTP-Server auf einem bestimmten TCP-Port hört ?

Antwort: Der beste Weg, um E-Mail-Server-Informationen zu erhalten, ist Ihren E-Mail-Server-Admin zu fragen. Wenn Sie den Mail-Server-Administrator nicht erreichen, oder wenn Sie die benötigen Informationen sofort erhalten möchten, können Sie es mit dem netstat Kommando versuchen. Dieses Beispiel zeigt alle aktiven Server auf Ihrem System an , und die Ports auf denen sie zu erreichen sind. Der SMTP-Server ist localhost und hört auf Port 25.

# netstat -pant
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address   Foreign Address  State  ID/Program name
tcp    0      0    0.0.0.0:631     0.0.0.0:*        LISTEN   4418/cupsd
tcp    0      0    127.0.0.1:25    0.0.0.0:*        LISTEN   2245/exim4
tcp    0      0    127.0.0.1:3306  0.0.0.0:*        LISTEN   1524/mysqld
  • 25/tcp ist unverschlüsselt smtp
  • 110/tcp/udp ist unverschlüsselt pop3
  • 143/tcp/udp ist unverschlüsselt imap4
  • 465/tcp ist verschlüsselt ssmtp
  • 993/tcp/udp ist verschlüsselt imaps
  • 995/tcp/udp ist verschlüsselt pop3s

Frage: Wie kann ich feststellen, ob der SMTP-Server das veraltete SMTPS Protokoll verwendet ?

Antwort: Ein gutes Indiz dafür, dass der SMTP-Server das SMTPS-Protokoll unterstützt ist, dass er auf dem Port 465 hört.

Frage: Wie kann ich feststellen welches Autorisierungs- und Verschlüsselungsprotokoll der Mail-Server unterstützt ?

Answer: SMTP-Server geben in der Regel die Verfügbarkeit von STARTTLS unmittelbar nachdem eine Verbindung hergestellt ist an. Sie können das ganz einfach überprüfen, in dem Sie den telnet Befehl verwenden.

Hinweis

Sie müssen die markierten Zeilen eingeben, um die angezeigten Informationen zu erhalten.

telnet smtp.domain.dom 25
Trying 192.168.1.10...
Connected to smtp.domain.dom.
Escape character is '^]'.
220 smtp.domain.dom ESMTP Exim 4.80.1 Tue, 22 Jan 2013 22:39:55 +0100
EHLO your-server.local.lan                   # <<< enter this command
250-smtp.domain.dom Hello your-server.local.lan [ip-address]
250-SIZE 52428800
250-8BITMIME
250-PIPELINING
250-AUTH PLAIN LOGIN CRAM-MD5                 # <<< Supported auth protocols
250-STARTTLS                                  # <<< Encryption is supported
250 HELP
QUIT                                          # <<< enter this command
221 smtp.domain.dom closing connection
Connection closed by foreign host.

aktivieren des Debug Mode¶

Wenn Sie keine E-Mail senden können, kann es sinnvoll sein, weitere Debug Nachrichten zu aktivieren, indem Sie den mail_smtpdebug Parameter einstellen:

<?php

  "mail_smtpdebug" => true,

Hinweis

Unmittelbar nach dem Drücken des Send email Buttons, werden wie beschrieben, mehrere SMTP -> get_lines(): ... Meldungen auf dem Bildschirm erscheinen. Dieses Verhalten ist normal und kann ignoriert werden.