imapsieve environment variables missing?
MRob
mrobti at insiberia.net
Mon Dec 5 15:10:19 UTC 2016
On 2016-12-05 06:13, Stephan Bosch wrote:
> Op 5-12-2016 om 14:32 schreef MRob:
>> On 2016-12-05 04:38, Stephan Bosch wrote:
>>> Op 5-12-2016 om 13:28 schreef MRob:
>>>> RFC6785 says imap.user and imap.email environment variables should
>>>> be made available but I can't access them no matter what I try. Are
>>>> they not implemented because vnd.dovecot.environment already
>>>> provides the username? (which does work for me)
>>>>
>>>> If imap.user and imap.email are there, can you provide an example
>>>> how to access them so I can see what I did wrong?
>>>
>>> That should work.
>>>
>>> Do you have an example script demonstrating what your trying to do?
>>
>> Trying to access as a variable:
>>
>> \${imap.user}
>>
>> Also tried:
>>
>> if environment :matches "imap.user" "*" {
>> set "username" "${1}";
>> }
>>
>> Also tried prefixing with "env." or removing "imap."
>>
>> Result is always empty string (dumped with debug_log)
>>
>> Script is run during COPY operations, newest tarball releases
>> installed for dovecot and pigeonhole.
>
> Could you show me your full script? I am mainly interested in the
> require statements involved.
I don't know how I managed to compile only using direct access of
${imap.user} before since now I get an unknown namespace error on my
test script.
But doing it this way compiles:
require ["environment", "variables", "vnd.dovecot.debug"];
if environment :matches "imap.user" "*" {
set "u" "${1}"; }
debug_log "Found username: \${u}";
if environment :matches "name" "*" {
set "n" "${1}"; }
debug_log "Found product name: \${n}";
The output is:
DEBUG: Found username:
DEBUG: Found product name: Pigeonhole Sieve
More information about the dovecot
mailing list