In der Postfix-Log sehe ich nur die eingehende E-Mail, aber in der Dovecot-Log sehe ich nun den Grund, warum sowohl mein eigenes Vacation-Sieve-Script als auch die Abwesenheitsnotiz, die ich über SOGo einstelle, nicht funktioniert.
Wenn ich direkt an die E-Mail Adresse der Mailbox, an die die Catch-All-Adresse die Mails weiterleitet, etwas sende, kommt die automatische Antwort auch an. In meinem Fall ist es no-reply@meine.domain.de (Beispiel). In der Dovecot-Log steht dann auch “vacation action: sent vacation response”:
dovecot-mailcow_1 | Nov 25 23:52:01 mail dovecot: lmtp(no-reply@meine-domain.de)<22899><cFmCHRHgvl9zWQAAYyuueQ>: sieve: msgid=<trinity-cea3595b-69a4-42e3-8fda-a15b94244ecf-1606344716347@3c-app-webde-bap59>: vacation action: sent vacation response to <externe-mail-adresse@web.de>
Sobald ich jedoch irgendeine andere E-Mail Adresse angebe, sodass meine Catch-All-Weiterleitung greift und die E-Mail an meine Mailbox weiterleitet, sehe ich die Meldung “discarding vacation response for implicitly delivered message”:
dovecot-mailcow_1 | Nov 25 23:55:41 mail dovecot: lmtp(no-reply@meine-domain.de)<23018><dqbeHu3gvl/qWQAAYyuueQ>: sieve: msgid=<trinity-f090087d-0c0f-4d35-8bd0-a9da0063c1fe-1606344934402@3c-app-webde-bap59>: vacation action: discarding vacation response for implicitly delivered message; no known (envelope) recipient address found in message headers (recipient=<no-reply@meine-domain.de>, and additional :addresses' are specified)
Unter Mailu/Mailu123 habe ich gelesen, dass das bei dieser Vacation-Funktion normal ist. Dort wurde auf https://tools.ietf.org/html/rfc5230#page-7 verlinkt, um die Überprüfung der Empfänger-Adresse hierfür abzuschalten. Ob das so gut ist, weiß ich nicht, aber ich schaue mir mal an, wie und ob das funktioniert. Ich finde da bisher aber auch nur die Möglichkeit, weitere bestimmte Adressen zu ergänzen. Oder gibt es hier bessere Möglichkeiten bei der Mailcow?
Wenn ich mein Vacation-Sieve-Script um den Parameter ":addresses [“test123@meine-domain.de”]" erweitere und somit direkt eine der beliebigen Ziel E-Mail Adressen angebe, die vom Catch-All abgegriffen und an meine no-reply@meine-domain.de weitergeleitet wird, funktioniert es auch. Dann lautet mein Script:
require "vacation-seconds";
if not header :contains "X-Spam-Flag" "YES" {
vacation
:seconds 60
:subject "Automatische Antwort"
:addresses ["test123@meine-domain.de"]
"Dies ist eine automatische Antwort (Test).";
}
Anscheinend gibt es aber leider keine Möglichkeit, dort ein Wildcard-Zeichen zu verwenden und z.B. “:addresses [”*@meine-domain.de"]" anzugeben… Ich teste in der Zwischenzeit mal weiter.
Gruß
Markus