Hello,
Am 09.09.2015 um 13:30 schrieb Stephan Bosch:
Op 9-9-2015 om 12:37 schreef Hajo Locke:
Hello,
Am 09.09.2015 um 11:26 schrieb Stephan Bosch:
Op 8-9-2015 om 13:10 schreef Hajo Locke:
Hello List,
i have a problem when using sieve-plugin sieve_extprograms. I use dovecot 2.2.18 and bundled pigeonhole 0.4.6 (Ubuntu 14.04.3 LTS)
i have enabled sieve_extprograms and vnd.dovecot.filter to send mail to user-defined script and get changed content back. My script previously was used with procmail and is working fine. Using same script with vnd.dovecot.filter leads to odd behavior. I already found out the problem itself: By sending Mailcontent to filter-programm it seems that sieve/sieve_extprograms is adding additional linebreaks to every line of complete mail. Please see this image to clarify: http://r31i.imgup.net/header8d56.jpg?l=de Every lineending got additional windows-lineendings, which leads to problems with processing scripts. Piping mails by procmail to same script is working without problems, because this mails are recieved "clean" without the "^M".
Well, the specified format for an internet message like e-mail has CRLF line endings everywhere. That's why this happens now:
http://hg.rename-it.nl/dovecot-2.2-pigeonhole/file/5df1b6d72ec2/src/plugins/...
But maybe that is not such a good idea in a UNIX environment. I think I can just make it configurable.
ahh, there it is. i think just commenting out this line in my sources will result in some errors. Is there a possibility for me to make a quickfix in my sources? (use other function or something like that)
You can replace it with the i_stream_create_lf() function, which enforces LF rather than CR+LF, which would be what you need.
Unfortunately i have to continue this issue. During my last updates this problem is occured again. This are my versions: # 2.2.21 (): /etc/dovecot/dovecot.conf # Pigeonhole version 0.4.11 (6ddf62b87f60+) # OS: Linux 3.13.0-77-generic x86_64 Ubuntu 14.04.4 LTS
I tried to configure the linebreaks in my plugin section of /etc/dovecot/dovecot.conf by: sieve_extprograms_input_eol = lf
But it seems to have no effect. Is this configured the right way or i have to use 0.4.12? Currently it looks like this:
plugin { sieve = ~/sieve/.dovecot.sieve sieve_before = ~/sieve_before/.dovecot_before.sieve sieve_after = ~/sieve_after/.dovecot_after.sieve sieve_plugins = sieve_extprograms sieve_extensions = +vnd.dovecot.pipe +vnd.dovecot.filter +vnd.dovecot.execute +editheader sieve_pipe_bin_dir = /usr/local/bin/ sieve_filter_bin_dir = /usr/local/bin/ sieve_dir = ~/sieve sieve_global_dir = /etc/dovecot/sieve/ sieve_extprograms_input_eol = lf
}
Regards,
Stephan.
Thanks, Hajo