Sieve:discarding vacation response for implicitly delivered message
Hallo,
ich habe täglich ein paar Dutzend solcher Log-Meldungen:
Jul 20 22:12:57 mail dovecot: lmtp(28190, weig): wdyMMkXv6lEebgAAVjnpog: sieve: msgid=: discarding vacation response for implicitly delivered message; no known (envelope) recipient address found in message headers (recipient=, and no additional `:addresses‘ are specified)
Eine Vacation-Meldung wird auch nicht ausgeliefert, obwohl Vacation ansonsten
funktioniert.
Es scheint nicht userspezifisch zu sein, da es nicht immer auftritt.
Kann mir da jemand einen Hinweis geben?
Hier einige Hintergrundinformationen:
Debian GNU/Linux 7.1 (wheezy)
postfix 2.9.6-2
dovecot 2.1.7-7
dovecot-sieve 2.1.7-7
dovecot-managesieved 2.1.7-7
roundcube 0.9.0
roundcube-managesieve 6.2
dovecot -n
==============================================================================
# 2.1.7: /etc/dovecot/dovecot.conf
# OS: Linux 3.2.0-4-amd64 x86_64 Debian 7.1
auth_master_user_separator = *
auth_mechanisms = plain login
auth_username_format = %Ln
mail_location = maildir:~/Maildir
mail_plugins = zlib acl mail_log notify
managesieve_notify_capability = mailto
managesieve_sieve_capability = fileinto reject envelope encoded-character vacation subaddress comparator-i;ascii-numeric relational regex imap4flags copy include variables body enotify environment mailbox date ihave
namespace inbox {
inbox = yes
location =
mailbox Drafts {
special_use = Drafts
}
mailbox Junk {
special_use = Junk
}
mailbox Sent {
special_use = Sent
}
mailbox „Sent Messages“ {
special_use = Sent
}
mailbox Trash {
special_use = Trash
}
prefix = INBOX.
separator = .
type = private
}
passdb {
args = /etc/dovecot/dovecot-ldap.conf.ext
driver = ldap
}
plugin {
acl = vfile
acl_shared_dict = file:/var/lib/dovecot/shared-mailboxes
sieve = ~/.dovecot.sieve
sieve_dir = ~/sieve
zlib_save = gz
zlib_save_level = 6
}
protocols = “ imap lmtp sieve pop3″
service auth {
unix_listener /var/spool/postfix/private/auth {
mode = 0666
}
}
service imap-login {
process_min_avail = 2
service_count = 0
}
service lmtp {
inet_listener lmtp {
address = 127.0.0.1
port = 24
}
}
service managesieve-login {
inet_listener sieve_deprecated {
port = 2000
}
}
ssl_cert = </etc/ssl/certs/mail.tzv.fal.de.pem
ssl_key = </etc/ssl/private/mail.tzv.fal.de.key
userdb {
args = /etc/dovecot/dovecot-ldap.conf.ext
driver = ldap
}
verbose_proctitle = yes
protocol lmtp {
mail_plugins = zlib acl mail_log notify sieve
}
protocol lda {
mail_plugins = zlib acl mail_log notify sieve
}
protocol imap {
mail_plugins = zlib acl mail_log notify imap_zlib imap_acl
}
==============================================================================
Vielen Dank.
Helmut
—
————————————————————————-
Helmut Lichtenberg Tel.: 05034/871-128
Institut für Nutztiergenetik (FLI) 31535 Neustadt Germany
————————————————————————-
-
23. Juli 2013
-
Helmut Lichtenberg
-
9 Antworten
Am 23.07.2013 09:30 schrieb Helmut Lichtenberg:
> Jul 20 22:12:57 mail dovecot: lmtp(28190, weig): wdyMMkXv6lEebgAAVjnpog: sieve: msgid=: discarding vacation response for implicitly delivered message; no known (envelope) recipient address found in message headers (recipient=, and no additional `:addresses‘ are specified)
im sieve script muss bei vacation ein liste von Empfängeradressen angegeben werden.
gegen diese Liste wird der (envelope) recipient offenbar geprüft.
Wenn sieve da keinen Treffer landet, gibt’s diese Meldung und keine vacation message.
ergänze das sieve script bei vacation um
:addresses „weig@tzv.fal.de“
—
Andreas Schulze
Internetdienste | P252
DATEV eG
90329 Nürnberg | Telefon +49 911 319-0 | Telefax +49 911 319-3196
E-Mail info @datev.de | Internet http://www.datev.de
Sitz: 90429 Nürnberg, Paumgartnerstr. 6-14 | Registergericht Nürnberg, GenReg Nr.70
Vorstand
Prof. Dieter Kempf (Vorsitzender)
Dipl.-Kfm. Wolfgang Stegmann (stellvertretender Vorsitzender)
Dipl.-Kfm. Michael Leistenschneider
Dipl.-Kfm. Dr. Robert Mayr
Jörg Rabe v. Pappenheim
Dipl.-Vw. Eckhard Schwarzer
Vorsitzender des Aufsichtsrates: Reinhard Verholen
Andreas Schulze schrieb am 23.07.2013 10:32:
> im sieve script muss bei vacation ein liste von Empfängeradressen angegeben werden.
> gegen diese Liste wird der (envelope) recipient offenbar geprüft.
> Wenn sieve da keinen Treffer landet, gibt’s diese Meldung und keine vacation message.
>
> ergänze das sieve script bei vacation um
> :addresses „weig@tzv.fal.de“
Das Standardskript, das von Roundcube erzeugt wird, sieht etwa so aus:
==============================================================================
require [„vacation“];
# rule:[Urlaub]
if true
{
vacation :days 1 text:
I am away until July 25nd, 2013. I will read your message when I’m back.
Institute of Farm Animal Genetics, Neustadt-Mariensee, Germany
.
;
}
==============================================================================
Merkwürdigerweise funktioniert es i.d.R. so auch, z.B. habe ich dem Nutzer
lokal eine Email geschickt und die Vacation-Nachricht erhalten. Ein anderer
lokaler Nutzer hat keine Vacation-Meldung erhalten (mit o.g. Logmeldung).
Es liegt aber auch nicht am absendenden Nutzer, denn von mir hat er bei
aktivierter Vacation die Nachricht erhalten.
Irgendwo muß doch die Mailadresse des ‚Urlaubers‘ als Variable übergeben
werden. Das ist doch eigentlich der Standard, wenn dieser User in seiner
Mailbox Vacation anstellt.
Gruß
Helmut
—
————————————————————————-
Helmut Lichtenberg Tel.: 05034/871-128
Institut für Nutztiergenetik (FLI) 31535 Neustadt Germany
————————————————————————-
Am 23.07.2013 09:30, schrieb Helmut Lichtenberg:
Hallo,
> Jul 20 22:12:57 mail dovecot: lmtp(28190, weig): wdyMMkXv6lEebgAAVjnpog: sieve: msgid=: discarding vacation response for implicitly delivered message; no known (envelope) recipient address found in message headers (recipient=, and no additional `:addresses‘ are specified)
>
> Es scheint nicht userspezifisch zu sein, da es nicht immer auftritt.
Das liegt ja auch an der jeweiligen E-Mail…
Sieve erwartet, daß es die fragliche Mailadresse auch im Mailheader-TO
wiederfindet. Also wenn sieve für klaus@example.com läuft, dann muß es
im Header auch
To: „bla“
finden. Hat der Empfänger die Mail nur als BCC bekommen, steht er nicht
drin. Gleiches bei Mails, die über Weiterleitungen, Mailinglisten o.ä.
daherkommen.
Peer
—
Heinlein Support GmbH
Schwedter Str. 8/9b, 10119 Berlin
http://www.heinlein-support.de
Tel: 030 / 405051-42
Fax: 030 / 405051-19
Zwangsangaben lt. §35a GmbHG: HRB 93818 B / Amtsgericht
Berlin-Charlottenburg,
Geschäftsführer: Peer Heinlein — Sitz: Berlin
Hallo,
On 7/25/2013 7:51 AM, Peer Heinlein wrote:
> Am 23.07.2013 09:30, schrieb Helmut Lichtenberg:
>
>> Jul 20 22:12:57 mail dovecot: lmtp(28190, weig): wdyMMkXv6lEebgAAVjnpog: sieve: msgid=: discarding vacation response for implicitly delivered message; no known (envelope) recipient address found in message headers (recipient=, and no additional `:addresses‘ are specified)
>>
>> Es scheint nicht userspezifisch zu sein, da es nicht immer auftritt.
> Das liegt ja auch an der jeweiligen E-Mail…
>
> Sieve erwartet, daß es die fragliche Mailadresse auch im Mailheader-TO
> wiederfindet. Also wenn sieve für klaus@example.com läuft, dann muß es
> im Header auch
>
> To: „bla“
>
> finden. Hat der Empfänger die Mail nur als BCC bekommen, steht er nicht
> drin. Gleiches bei Mails, die über Weiterleitungen, Mailinglisten o.ä.
> daherkommen.
Das ist nicht ganz korrekt, denn auch vorgefundene Cc, Bcc, Resent-To,
Resent-Cc und Resent-Bcc Headern werden durchsucht. Weitere Information
findet man hier:
https://tools.ietf.org/html/rfc5230#section-4.5
Oft entsteht diese Situation wenn Mails irgendwo weitergeleitet werden
zu einer andere Adresse. Dann stimmt die Adresse im Headern nicht mehr
mit dem `Briefumschlag‘ überein.
Gruß,
Stephan.
Peer Heinlein schrieb am 25.07.2013 07:51:
> Am 23.07.2013 09:30, schrieb Helmut Lichtenberg:
> > Jul 20 22:12:57 mail dovecot: lmtp(28190, weig): wdyMMkXv6lEebgAAVjnpog: sieve: msgid=: discarding vacation response for implicitly delivered message; no known (envelope) recipient address found in message headers (recipient=, and no additional `:addresses‘ are specified)
> > Es scheint nicht userspezifisch zu sein, da es nicht immer auftritt.
>
> Das liegt ja auch an der jeweiligen E-Mail…
>
> Sieve erwartet, daß es die fragliche Mailadresse auch im Mailheader-TO
> wiederfindet. Also wenn sieve für klaus@example.com läuft, dann muß es
> im Header auch
>
> To: „bla“
>
> finden. Hat der Empfänger die Mail nur als BCC bekommen, steht er nicht
> drin. Gleiches bei Mails, die über Weiterleitungen, Mailinglisten o.ä.
> daherkommen.
Kann es auch daran liegen, daß wir zwei Adressen haben,
eine offizielle, z.B. Helmut.Lichtenberg@fli.bund.de und eine technische
heli@tzv.fal.de?
Die offizielle Adresse wird über eine virtual-Tabelle in postfix auf die
technische umgesetzt.
Kann das irgendwie an Sieve propagiert werden oder sollte jeder manuell in
Roundcube beide (oder nur eine?) Adressen angeben, damit dann in Sieve steht:
:addresses [„heli@tzv.fal.de“,“helmut.lichtenberg@fli.bund.de“]
Helmut
—
————————————————————————-
Helmut Lichtenberg Tel.: 05034/871-128
Institut für Nutztiergenetik (FLI) 31535 Neustadt Germany
————————————————————————-
On 7/25/2013 9:42 AM, Helmut Lichtenberg wrote:
> Kann es auch daran liegen, daß wir zwei Adressen haben,
> eine offizielle, z.B. Helmut.Lichtenberg@fli.bund.de und eine technische
> heli@tzv.fal.de?
> Die offizielle Adresse wird über eine virtual-Tabelle in postfix auf die
> technische umgesetzt.
>
> Kann das irgendwie an Sieve propagiert werden oder sollte jeder manuell in
> Roundcube beide (oder nur eine?) Adressen angeben, damit dann in Sieve steht:
>
> :addresses [„heli@tzv.fal.de“,“helmut.lichtenberg@fli.bund.de“]
Dafür gibt es eine Lösung. Die ist leider jedoch noch nicht ordentlich
im Wiki dokumentiert:
http://hg.rename-it.nl/dovecot-2.1-pigeonhole/raw-file/53ee9655e78e/doc/extensions/vacation.txt
Mann sollte also folgendes konfigurieren:
sieve_vacation_use_original_recipient = yes
Außerdem muss LMTP oder LDA korrekt konfiguriert werden, damit der Originalempfänger und der Endempfänger beide verfügbar sind. Informationen dazu findet man hier:
http://wiki2.dovecot.org/LDA (Parameters -r, -a undlda_original_recipient_header Konfiguration).
http://wiki2.dovecot.org/LMTP
Gruß,
Stephan.
Hallo Stephan,
Stephan Bosch schrieb am 25.07.2013 10:12:
> >Kann das irgendwie an Sieve propagiert werden oder sollte jeder manuell in
> >Roundcube beide (oder nur eine?) Adressen angeben, damit dann in Sieve steht:
> >
> > :addresses [„heli@tzv.fal.de“,“helmut.lichtenberg@fli.bund.de“]
>
> Dafür gibt es eine Lösung. Die ist leider jedoch noch nicht
> ordentlich im Wiki dokumentiert:
>
> http://hg.rename-it.nl/dovecot-2.1-pigeonhole/raw-file/53ee9655e78e/doc/extensions/vacation.txt
>
> Mann sollte also folgendes konfigurieren:
>
> sieve_vacation_use_original_recipient = yes
Ich habe das in /etc/dovecot/conf.d/90-sieve.conf eingetragen:
plugin {
….
sieve_vacation_use_original_recipient = yes
….
}
Dann dovecot reload ausgeführt.
Bei einer Mail von einem anderen Account an Helmut.Lichtenberg@fli.bund.de
habe ich keine Vacation-Nachricht erhalten, allerdings bei der Mail an
heli@tzv.fal.de.
> Außerdem muss LMTP oder LDA korrekt konfiguriert werden, damit der
> Originalempfänger und der Endempfänger beide verfügbar sind. Informationen
> dazu findet man hier:
>
> http://wiki2.dovecot.org/LDA (Parameters -r, -a
> undlda_original_recipient_header Konfiguration).
> http://wiki2.dovecot.org/LMTP
In 15-lda.conf bzw. 20-lmtp.conf steht nur:
protocol lda {
mail_plugins = $mail_plugins sieve
}
protocol lmtp {
mail_plugins = $mail_plugins sieve
}
Muß da noch etwas eingetragen werden?
Ansonsten sagt doveconf -n folgendes:
==============================================================================
root@mail,conf.d: doveconf -n
# 2.1.7: /etc/dovecot/dovecot.conf
# OS: Linux 3.2.0-4-amd64 x86_64 Debian 7.1
auth_master_user_separator = *
auth_mechanisms = plain login
auth_username_format = %Ln
mail_location = maildir:~/Maildir
mail_plugins = zlib acl mail_log notify
managesieve_notify_capability = mailto
managesieve_sieve_capability = fileinto reject envelope encoded-character vacation subaddress comparator-i;ascii-numeric relational regex imap4flags copy include variables body enotify environment mailbox date ihave
namespace inbox {
inbox = yes
location =
mailbox Drafts {
special_use = Drafts
}
mailbox Junk {
special_use = Junk
}
mailbox Sent {
special_use = Sent
}
mailbox „Sent Messages“ {
special_use = Sent
}
mailbox Trash {
special_use = Trash
}
prefix = INBOX.
separator = .
type = private
}
passdb {
args = /etc/dovecot/dovecot-ldap.conf.ext
driver = ldap
}
plugin {
acl = vfile
acl_shared_dict = file:/var/lib/dovecot/shared-mailboxes
sieve = ~/.dovecot.sieve
sieve_dir = ~/sieve
sieve_vacation_use_original_recipient = yes
zlib_save = gz
zlib_save_level = 6
}
protocols = “ imap lmtp sieve pop3″
service auth {
unix_listener /var/spool/postfix/private/auth {
mode = 0666
}
}
service imap-login {
process_min_avail = 2
service_count = 0
}
service lmtp {
inet_listener lmtp {
address = 127.0.0.1
port = 24
}
}
service managesieve-login {
inet_listener sieve_deprecated {
port = 2000
}
}
ssl_cert = </etc/ssl/certs/mail.tzv.fal.de.pem
ssl_key = </etc/ssl/private/mail.tzv.fal.de.key
userdb {
args = /etc/dovecot/dovecot-ldap.conf.ext
driver = ldap
}
verbose_proctitle = yes
protocol lmtp {
mail_plugins = zlib acl mail_log notify sieve
}
protocol lda {
mail_plugins = zlib acl mail_log notify sieve
}
protocol imap {
mail_plugins = zlib acl mail_log notify imap_zlib imap_acl
}
==============================================================================
Vielen Dank.
Helmut
—
————————————————————————-
Helmut Lichtenberg Tel.: 05034/871-128
Institut für Nutztiergenetik (FLI) 31535 Neustadt Germany
————————————————————————-
On 7/25/2013 11:53 AM, Helmut Lichtenberg wrote:
>> Außerdem muss LMTP oder LDA korrekt konfiguriert werden, damit der
>> Originalempfänger und der Endempfänger beide verfügbar sind. Informationen
>> dazu findet man hier:
>>
>> http://wiki2.dovecot.org/LDA (Parameters -r, -a
>> undlda_original_recipient_header Konfiguration).
>> http://wiki2.dovecot.org/LMTP
> In 15-lda.conf bzw. 20-lmtp.conf steht nur:
>
> protocol lda {
> mail_plugins = $mail_plugins sieve
> }
>
> protocol lmtp {
> mail_plugins = $mail_plugins sieve
> }
>
> Muß da noch etwas eingetragen werden?
Der Originalempfänger ist die Adresse des Empfängers bevor Postfix es
umgesetzt hat, der Endempfänger ist die Adresse des Empfängers nachdem
Postfix es umgesetzt hat.
Für LDA ist wichtig auf welche Weise es gestartet wird von Postfix. Mit
den Parameters -r und -a sollten der Originalempfänger und der
Endempfänger beide weitergegeben werden an Dovecot.
Wenn LTMP benutzt wird, ist es wichtig dass der Originalempfänger von
Postfix zum Header hinzugefügt wird. Mit dem
lda_original_recipient_header Konfiguration kann man bestimmen welches
Header Feld dafür von Dovecot erwartet wird (zum Beispiel
X-Original-Recipient).
Dies betrifft zumeist nur Konfiguration für Postfix. Ich habe nur
beschränkt Erfahrung mit Postfix. Also mit den Details kann ich leider
nicht viel weiterhelfen.
Gruß,
Stephan.
Stephan Bosch schrieb am 25.07.2013 22:40:
> Der Originalempfänger ist die Adresse des Empfängers bevor Postfix
> es umgesetzt hat, der Endempfänger ist die Adresse des Empfängers
> nachdem Postfix es umgesetzt hat.
>
> Für LDA ist wichtig auf welche Weise es gestartet wird von Postfix.
> Mit den Parameters -r und -a sollten der Originalempfänger und der
> Endempfänger beide weitergegeben werden an Dovecot.
>
> Wenn LTMP benutzt wird, ist es wichtig dass der Originalempfänger
> von Postfix zum Header hinzugefügt wird. Mit dem
> lda_original_recipient_header Konfiguration kann man bestimmen
> welches Header Feld dafür von Dovecot erwartet wird (zum Beispiel
> X-Original-Recipient).
>
> Dies betrifft zumeist nur Konfiguration für Postfix. Ich habe nur
> beschränkt Erfahrung mit Postfix. Also mit den Details kann ich
> leider nicht viel weiterhelfen.
Hallo Stephan,
um das Ganze möglichst einfach zu halten werde ich den Weg gehen, daß jeder
Nutzer seine in Frage kommenden Mailadressen manuell in Roundcube/Vacation
eintragen muß.
Vielen Dank an alle.
Helmut
—
————————————————————————-
Helmut Lichtenberg Tel.: 05034/871-128
Institut für Nutztiergenetik (FLI) 31535 Neustadt Germany
————————————————————————-