[Dovecot] Sieve vacation with russian subject
Hello list,
I have noticed that sieve vacation action breaks some non-english letters in the subject. I tested with russian language, if subject contains letters from specific diapason russian alphabet, the message received with unreadable subject, but text in the body with the same letters looks ok. Here is example of full subject header, it contains russian alphabet: Subject: абвгде�?жзийклмноп�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?
Maybe this headers will be usefull: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit
.dovecot.sieve file looks correct, here is it: require ["vacation"]; # rule:[test] if anyof (true) { vacation :days 1 :addresses ["user@domain.com"] :subject "абвгдеёжзийклмнопрстуфхцчшщъыьэюя" text: Тестовое русское сообщение(Test russian message). ; }
I'm running dovecot-1.1.16 with dovecot-sieve-1.1.6 and managesieve-0.10.6.
Please tell, is it possible to fix this ?
Le 8 juil. 09 à 12:04, Nikita Koshikov a écrit :
Hello list,
I have noticed that sieve vacation action breaks some non-english
letters in the subject. I tested with russian language, if subject contains letters from
specific diapason russian alphabet, the message received with
unreadable subject, but text in the body with the same letters looks
ok. Here is example of full subject header, it contains russian alphabet: Subject: абвгде�?жзийклмноп�?�?�?�?�?�? �?�?�?�?�?�?�?�?�?�?Maybe this headers will be usefull: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit
.dovecot.sieve file looks correct, here is it: require ["vacation"]; # rule:[test] if anyof (true) { vacation :days 1 :addresses ["user@domain.com"] :subject
"абвгдеёжзийклмнопрстуфхцчшщъыьэюя"
text: Тестовое русское сообщение(Test russian
message). ; }I'm running dovecot-1.1.16 with dovecot-sieve-1.1.6 and
managesieve-0.10.6.Please tell, is it possible to fix this ?
I don't know whether dovecot-sieve is supposed to do the conversion
automatically, but it is sure that an RFC822 header MUST be in US-
ASCII (so as to be 7bit-clean).
The required encodings are described in:
http://www.rfc-editor.org/rfc/rfc2047.txt
For example, a subject header with the french word "Résistance" could
be encoded as:
Subject: =?iso-8859-1?Q?R=E9sistance?=
Could you try by inserting the encoded subject line directly in the
config file and see what gives?
On the other hand, perhaps does sieve provide the needed tools itself;
someone?
Axel
Axel Luttgens wrote:
Le 8 juil. 09 à 12:04, Nikita Koshikov a écrit :
I don't know whether dovecot-sieve is supposed to do the conversion automatically, but it is sure that an RFC822 header MUST be in US-ASCII (so as to be 7bit-clean).
The required encodings are described in: http://www.rfc-editor.org/rfc/rfc2047.txt For example, a subject header with the french word "Résistance" could be encoded as: Subject: =?iso-8859-1?Q?R=E9sistance?=
Could you try by inserting the encoded subject line directly in the config file and see what gives? On the other hand, perhaps does sieve provide the needed tools itself; someone?
Indeed, this is currently not possible. For the new Sieve implementation this is on my TODO list, but the old CMUSieve that Nikita is using will probably never provide support for this.
Regards,
Stephan
Oops forgot a few remarks.
Axel Luttgens wrote:
I don't know whether dovecot-sieve is supposed to do the conversion automatically, but it is sure that an RFC822 header MUST be in US-ASCII (so as to be 7bit-clean). Sieve is supposed to do the conversion implicitly, yes.
The required encodings are described in: http://www.rfc-editor.org/rfc/rfc2047.txt For example, a subject header with the french word "Résistance" could be encoded as: Subject: =?iso-8859-1?Q?R=E9sistance?=
Could you try by inserting the encoded subject line directly in the config file and see what gives? Hmm, that should work (for now). This is not user friendly though.
On the other hand, perhaps does sieve provide the needed tools itself; someone?
Read my other post for the rest of the story.
Regards,
Stephan
On Wed, 8 Jul 2009 12:41:38 +0200 Axel Luttgens <AxelLuttgens@swing.be> wrote:
Le 8 juil. 09 à 12:04, Nikita Koshikov a écrit :
Hello list,
I have noticed that sieve vacation action breaks some non-english
letters in the subject. I tested with russian language, if subject contains letters from
specific diapason russian alphabet, the message received with
unreadable subject, but text in the body with the same letters looks
ok. Here is example of full subject header, it contains russian alphabet: Subject: абвгде�?жзийклмноп�?�?�?�?�?�? �?�?�?�?�?�?�?�?�?�?Maybe this headers will be usefull: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit
.dovecot.sieve file looks correct, here is it: require ["vacation"]; # rule:[test] if anyof (true) { vacation :days 1 :addresses ["user@domain.com"] :subject
"абвгдеёжзийклмнопрстуфхцчшщъыьэюя"
text: Тестовое русское сообщение(Test russian
message). ; }I'm running dovecot-1.1.16 with dovecot-sieve-1.1.6 and
managesieve-0.10.6.Please tell, is it possible to fix this ?
I don't know whether dovecot-sieve is supposed to do the conversion
automatically, but it is sure that an RFC822 header MUST be in US- ASCII (so as to be 7bit-clean).The required encodings are described in: http://www.rfc-editor.org/rfc/rfc2047.txt For example, a subject header with the french word "Résistance" could
be encoded as: Subject: =?iso-8859-1?Q?R=E9sistance?=Could you try by inserting the encoded subject line directly in the
config file and see what gives?
This made a trick, I have tried variant with =?UTF-8?B? - that worked for me, but this is not "user way". I think, the best way will be to exlain my users not to put non-english characters in the subject.
On the other hand, perhaps does sieve provide the needed tools itself;
someone?Axel
Thanks everyone for replies.
On Sat, 11 Jul 2009 07:24:51 +0200 (CEST) "Benny Pedersen" <me@junc.org> wrote:
On Wed, July 8, 2009 12:04, Nikita Koshikov wrote:
Please tell, is it possible to fix this ?
fix is nedded in sieve client what ever that is, not in anything dovecot does
so to test: iconv the sieve script to unicode, and save it, then it works ?
Sieve script has already been in UTF encoding and this not working. The problem is to convert e-mail headers into the right format, as Alex wrote. If convertion is made "by hands" everything works as expected.
-- xpoint
Nikita Koshikov wrote:
Hello list,
I have noticed that sieve vacation action breaks some non-english letters in the subject. I tested with russian language, if subject contains letters from specific diapason russian alphabet, the message received with unreadable subject, but text in the body with the same letters looks ok. Here is example of full subject header, it contains russian alphabet: Subject: абвгде�?жзийклмноп�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?
Maybe this headers will be usefull: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit
.dovecot.sieve file looks correct, here is it: require ["vacation"]; # rule:[test] if anyof (true) { vacation :days 1 :addresses ["user@domain.com"] :subject "абвгдеёжзийклмнопрстуфхцчшщъыьэюя" text: Тестовое русское сообщение(Test russian message). ; }
I'm running dovecot-1.1.16 with dovecot-sieve-1.1.6 and managesieve-0.10.6.
Please tell, is it possible to fix this ?
Hello all. I use: dovecot-1.2.4_1 dovecot-managesieve-0.11.9 dovecot-sieve-1.2+0.1.12
at FreeBSD-7.1 and got same problem with Russian letters in subject.
Subject: Auto: аПб?аОаВаЕб?аКаА аАаВб?аОаОб?аВаЕб?аА MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit
Is this problem still not fixed in new sieve implementation?
-- Best regards, Proskurin Kirill
On Fri, 2009-10-16 at 11:48 +0400, Proskurin Kirill wrote:
Is this problem still not fixed in new sieve implementation?
I just implemented message header encoder: http://hg.dovecot.org/dovecot-1.2/rev/bd4a6f500c75
So only thing left to do is for Stephan to start using it. :)
Timo Sirainen wrote:
On Fri, 2009-10-16 at 11:48 +0400, Proskurin Kirill wrote:
Is this problem still not fixed in new sieve implementation?
I just implemented message header encoder: http://hg.dovecot.org/dovecot-1.2/rev/bd4a6f500c75
So only thing left to do is for Stephan to start using it. :)
Done:
http://hg.rename-it.nl/dovecot-1.2-sieve/rev/b05a7a7a42a1
But:
"
$ src/testsuite/testsuite tests/extensions/vacation/utf-8.svtest Test case: tests/extensions/vacation/utf-8.svtest:
1: Test 'UTF-8 Subject' FAILED: subject header is not encoded/decoded properly: expected: Auto: Я могу есть стекло, оно мне не вредит. decoded: Auto: Я мог�? е�?�?�? �?�?екло, оно мне не в�?еди�?.
FAIL: 1 of 1 tests failed.
"
So, something is not yet quite ok in the encoding/decoding process. The encoded header looks as follows:
Subject: Auto: =?utf-8?b?0K8g0LzQvtCz0T8g0LXRP9E/0T8g0T/RP9C10LrQu9C+LCDQvtC90L4=?= =?utf-8?b?INC80L3QtSDQvdC1INCy0T/QtdC00LjRPy4=?=
Timo, just check the utf-8.svtest file to get an idea of what exactly is tested.
Regards,
Stephan
On Wed, 2009-10-28 at 12:32 +0100, Stephan Bosch wrote:
1: Test 'UTF-8 Subject' FAILED: subject header is not encoded/decoded properly: expected: Auto: Я могу есть стекло, оно мне не вредит. decoded: Auto: Я мог�? е�?�?�? �?�?екло, оно мне не в�?еди�?.
The bug was actually that str_sanitize() didn't understand UTF-8 input. Fixed.
participants (7)
-
Axel Luttgens
-
Benny Pedersen
-
Nikita Koshikov
-
Proskurin Kirill
-
Stephan Bosch
-
Stephan Bosch
-
Timo Sirainen