On 08-09-2021 12:55 am, Aki Tuomi wrote:
In the sieve plugin settings i have
plugin {
...
sieve_user_email = %u
}
Variables pages says
%u = full username (e.g. user@domain)
This config seems to work in practice, the email is from: the users
email address.
However on starting dovecot im getting a warning twice:
dovecot[35893]: managesieve: Warning: sieve: Invalid address value
for
setting `sieve_user_email': Missing domain
dovecot[35893]: master: Dovecot v2.3.8 (9df20d2db) starting up for
imap, lmtp, sieve
dovecot[35897]: managesieve: Warning: sieve: Invalid address value
for
setting `sieve_user_email': Missing domain
Maybe some of your users do not have domain in the username? %u will
only expand into user@domain if the username has domain. It won't
magic up the domain value there.
Im not getting my head around what you are saying. This happens on
dovecot startup. To my knowledge there isn't any username being
evaluated. Where would dovecot be pulling a username from? I assumed it
was just testing the syntax of the config not grabbing random user data.
As far as maybe some users don't have domains in their username, still
having trouble getting my head around that idea. I didn't know a
maildir/ location had a "username" embedded into it. Isn't mail access
determined by login verification and where mail_location tells dovecot
where to find the maildir/ files for that login? I mean if i just change
mail_location then doesn't that completely change the correlation
between "username" and ones email?
For my situation im using sql to lookup login info.
mail_home = /email/%d/%2n/%n/_dovecot
mail_location =
maildir:/email/%d/%2n/%n/_folders:INDEX=/email/%d/%2n/%n/_dovecot:CONTROL=/email/%d/%2n/%n/_dovecot
password_query = SELECT inbox AS userdb_user, passwd AS password,
CONCAT('*:storage=', diskQuota, 'm') AS userdb_quota_rule FROM accounts
WHERE email = '%u'
Sql Columns 'email' and 'inbox' both store the same full
"[email protected]". The 'email' column acts as login username and the
'inbox' column acts as maildir/ location.
Other relevant configuration...
protocol lmtp {
mail_plugins = $mail_plugins sieve
}
plugin {
...
sieve = file:~/../_sieve;active=~/../_sieve/.active_sieve
sieve_user_email = %u
}
Where is my misunderstanding on this and/or what is dovecot looking at
on startup to determine there isn't a domain in usernames for sieve when
no one has logged in yet? Or should i trick sieve by putting %n@%d
instead of %u for sieve_user_email?