WvdS DW Mail Transport
Mail Transport versendet Wiki-Post über SMTP-Einlieferung statt über PHPs mail() und richtet den Absender so aus, dass die Nachricht nicht im Spam-Ordner landet. Gedacht ist das Paket für Verwalter, die Einmalcodes, Benachrichtigungen und Einladungen zuverlässig zustellen müssen — die Installation allein ändert dabei nichts, erst die Konfiguration schaltet den Versand um.
Erste Schritte
Schnelleinstieg: Wiki-Mail über SMTP versenden — der kürzeste Weg zum ersten Ergebnis, in vier Schritten.
Voraussetzungen prüfen → SMTP eintragen → Absender ausrichten → Testnachricht senden
Häufige Aufgaben
| Was Sie wollen | Für wen | Wo Sie das tun | Anleitung |
|---|---|---|---|
| den Versand auf SMTP umstellen | Verwaltung | Administration > Mailversand | Konfiguration |
| eine Testnachricht senden | Verwaltung | Administration > Mailversand | Betrieb |
| herausfinden, warum Post im Spam landet | Verwaltung | – | Absender-Ausrichtung |
| einen fehlgeschlagenen Versand nachvollziehen | Verwaltung | Mitschrift | Diagnose |
| prüfen, was ohne Konfiguration geschieht | Verwaltung | – | Die Installation ändert für sich genommen nichts |
| wissen, was dieses Paket nicht leistet | Verwaltung | – | Grenzen |
Zweck
Versendet Wiki-Post über SMTP-Einlieferung statt über PHPs mail() — und richtet den
Absender so aus, dass die Nachricht nicht im Spam-Ordner abgelegt wird.
DokuWiki versendet ausschließlich über mail(). Das setzt voraus, dass auf der Maschine ein
Mailprogramm läuft und ausgehend zustellen darf, was auf vielen Installationen nicht zutrifft.
Unter Windows ohne gesetztes sendmail_path versucht PHP eine SMTP-Verbindung nach
localhost:25; lauscht dort nichts, scheitert jeder Versand — und Funktionen, die auf Post
angewiesen sind, etwa der Einmalcode von wkidentity, sind stillschweigend wirkungslos.
Für Autoren ist nichts davon sichtbar; das Plugin richtet sich ausschließlich an den Betreiber.
Die Installation ändert für sich genommen nichts
transport beginnt bei default. Das Wiki benutzt also weiterhin mail(), bis
ausdrücklich umgeschaltet wird.
transport wird zuletzt
umgestellt, nicht zuerst.
Konfiguration
| Einstellung | Vorgabe | Bedeutung |
|---|---|---|
transport | default | smtp leitet über dieses Plugin. Nichts anderes wirkt, solange das nicht umgestellt ist |
profile | custom | Anbieterprofil, das Server, Port und Verschlüsselung mitbringt: gmail, outlook oder custom |
host | leer | Einlieferungsserver |
port | 0 | Einlieferungsport, üblich 587 oder 465 |
encryption | leer | tls = STARTTLS, ssl = unmittelbares TLS, none = Klartext |
username | leer | Postfach, über das eingeliefert wird |
password | leer | dessen Kennwort — oder ein Geheimnisverweis |
fromname | leer | Anzeigename neben der ausgerichteten Adresse |
secret_root | leer | Wurzelverzeichnis, in dem file:-Verweise lesen dürfen |
align_sender | 1 | From auf das einliefernde Postfach ausrichten; die ursprüngliche Adresse wandert nach Reply-To |
verify_peer | 1 | Serverzertifikat prüfen |
timeout | 15 | Verbindungszeitüberschreitung in Sekunden |
Das Kennwort muss hier nicht als Wert stehen. Ein Verweis auf WvdS Vault hält es an einem Ort und mit Zugriffsprotokoll:
vault:mail-smtp
Absender-Ausrichtung: eine Korrektheitsfrage, keine Kosmetik
Ist align_sender aktiv, trägt From das Postfach, über das tatsächlich eingeliefert wird;
die ursprüngliche Adresse bleibt als Reply-To erhalten.
Der Grund ist nicht Optik: es hindert das Wiki daran, eine Identität zu behaupten, für die es sich nicht authentifizieren kann. Genau diese Behauptung ist es, die der empfangende Server gegen SPF, DKIM und DMARC prüft und im Zweifel als Spam einsortiert.
From zu antworten und Reply-To dabei zu
übergehen. Das ist Verhalten des Clients und vom Absender aus nicht verhinderbar.
Diagnose: Mitschrift statt Vermutung
Der Verwaltungsbildschirm bietet einen Testversand, und der ist als Messgerät gebaut: er meldet nicht nur das Ergebnis, sondern die Mitschrift des Gesprächs mit dem Server. Damit benennt ein Fehlschlag den Schritt, an dem er scheiterte, statt nur zu melden, dass Post nicht funktioniert.
Die zweite Hälfte ist der Zustellbarkeitsbericht: er liest die tatsächlichen DNS-Einträge der Domäne — SPF, DKIM, DMARC — statt sie anzunehmen, und meldet, was fehlt. Erst das macht den Fall „bei der Einlieferung angenommen, beim Empfänger in Quarantäne„ überhaupt diagnostizierbar.
Dazu die Erreichbarkeitsprüfung: nimmt der Einlieferungsport von diesem Rechner aus eine TCP-Verbindung an? Sie steht auch auf der Kommandozeile zur Verfügung und braucht dort keine Anmeldung.
Voraussetzungen
- PHP 8.2 oder neuer und Administratorrechte.
- Ein Postfach zum Einliefern und ausgehender Zugang zu dessen Einlieferungsport, üblich 587 oder 465. Gehostete Umgebungen sperren beide häufig.
- WvdS Vault ist wahlweise — für das Kennwort als Verweis statt als Wert.
Grenzen
- Es kann keine DNS-Einträge veröffentlichen. SPF und DKIM liegen in der DNS-Zone und beim Anbieter. Das Plugin meldet, was fehlt; es sagt nie zu, dass eine Nachricht ankommt.
- Eine saubere Mitschrift ist keine Zustellung. Einlieferung und Zustellung sind getrennte Urteile, und der stille Fehlschlag — angenommen, dann beim Empfänger einsortiert — sieht von hier aus genau wie Erfolg aus.
- Anwendungsspezifische Kennwörter sind meist Pflicht, wo das Konto einen zweiten Faktor führt; das Kontokennwort wird bei der Einlieferung abgelehnt.
- Passen
encryptionund Port nicht zusammen, erscheint das als Zeitüberschreitung, nicht als klare Fehlermeldung — beide Seiten warten darauf, dass die andere zuerst spricht.
Betrieb
transportzuletzt umstellen. Erst einrichten und prüfen; die Vorgabe hält den bestehenden Postweg währenddessen unangetastet.- SPF und DKIM veröffentlichen, bevor DMARC verschärft wird. Ein
p=rejectbei fehlendem SPF oder DKIM macht aus einem Spam-Ordner-Problem eine vollständige Nichtzustellung — auch an einen selbst, womit die einfachste Möglichkeit zum Testen entfällt. - Die DNS-Verbreitung abwarten, bevor geschlossen wird, ein veröffentlichter Eintrag habe keine Wirkung.
- Nach einem Anbieterwechsel erneut prüfen. Server, Port, SPF-Kennung und die Regeln für anwendungsspezifische Kennwörter gehören dem Anbieter, und alle vier können sich ändern.
verify_peer nach jedem Diagnoselauf wieder einschalten. Abgeschaltet ist eine abgefangene
Verbindung von einer echten nicht mehr zu unterscheiden — und zwar auf genau der Verbindung, die
das Kennwort trägt. Das ist ein Diagnoseschritt, niemals eine Konfiguration zum Behalten.
Dasselbe gilt für encryption = none: dabei geht das Kennwort im Klartext über die Leitung.
Paketangaben
Plugin: wkmail
Namespace: lib/plugins/wkmail/
Autor: Wolfgang van der Stille Wolfgang.van.der.Stille@gmail.com (The White Knight Labs)
Lizenz: GPL 2