Hi,
We are currently moving from linuxconf/dovecot to a dovecot setup with sql support, the problem we currently facing is having a message sent to a aliase delivered to the user email inbox with dovecot-lda, i have created cedrict@mail.vdl and a alias test@mail.vdl, when i send to cedrict@mail.vdl the message is included in the user inbox file, but when i send to test@mail.vdl it should do the same and not create a new created file named test, thank in advance for your help.
# dovecot --version 2.2.4
dovecot.conf auth_debug = yes auth_debug_passwords = yes auth_verbose = yes default_internal_user = root default_login_user = mail disable_plaintext_auth = no first_valid_uid = 100 mail_access_groups = mail users sysadmin popusers mail_location = mbox:%h/mail:LAYOUT=maildir++:INDEX=MEMORY:CONTROL=%h/mail/control:INBOX=/var/spool/vmail/%d/%n mail_max_userip_connections = 40 mail_plugins = " quota sieve" 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 mbox_lazy_writes = no passdb { args = /vdl/etc/dovecot/dovecot-sql.conf driver = sql } plugin { sieve = %h/mail/sieve/%n sieve_global_dir = /vdl/etc/dovecot/ sieve_vacation_default_period = 1d sieve_vacation_max_period = 7d } postmaster_address = x@x.x protocols = imap pop3 service auth { unix_listener auth-userdb { mode = 0600 user = popusers } } service imap-login { inet_listener imap { port = 143 } process_min_avail = 4 vsz_limit = 256 M } service pop3-login { inet_listener pop3 { port = 110 } process_min_avail = 16 } ssl = no submission_host = localhost:25 userdb { args = /vdl/etc/dovecot/dovecot-sql.conf driver = sql } protocol imap { mail_plugins = quota imap_quota mail_log notify } protocol pop3 { mail_plugins = quota } protocol lda { mail_plugins = quota sieve }
dovecot-sql.conf
password_query = SELECT
concat(s_courriel_utilisateur.utilisateur, '@', s_courriel_domaine.nom)
AS user,s_courriel_utilisateur.password as password
FROM s_courriel_utilisateur left join s_courriel_alias on
s_courriel_utilisateur.id=s_courriel_alias.utilisateur and
s_courriel_alias.archive !=1 ,s_courriel_domaine
WHERE s_courriel_utilisateur.archive !=1
and s_courriel_domaine.archive !=1
and
s_courriel_utilisateur.domaine=s_courriel_domaine.id
and s_courriel_domaine.nom = '%d'
and ( s_courriel_utilisateur.utilisateur = '%n'
or s_courriel_alias.alias = '%n' )
user_query = SELECT
concat("/vhome/",s_courriel_domaine.nom,"/home/",s_courriel_utilisateur.utilisateur)
as home,
concat("/vhome/",s_courriel_domaine.nom,"/home/",s_courriel_utilisateur.utilisateur,"/mail/index")
as "index",
concat("/vhome/",s_courriel_domaine.nom,"/home/",s_courriel_utilisateur.utilisateur,"/mail/control")
as control,
concat("/var/spool/vmail/",s_courriel_domaine.nom,"/",s_courriel_utilisateur.utilisateur)
as inbox,
"maildir++" as layout,
s_courriel_utilisateur.uid as
uid,s_courriel_domaine.gid as gid
FROM s_courriel_utilisateur left join s_courriel_alias on
s_courriel_utilisateur.id=s_courriel_alias.utilisateur and
s_courriel_alias.archive !=1 ,s_courriel_domaine
WHERE s_courriel_utilisateur.archive !=1
and s_courriel_domaine.archive !=1
and
s_courriel_utilisateur.domaine=s_courriel_domaine.id
and s_courriel_domaine.nom = '%d'
and ( s_courriel_utilisateur.utilisateur = '%n'
or s_courriel_alias.alias = '%n' )
Transaction debug for cedrict@mail.vdl with message added to file /var/spool/vmail/mail.vdl/cedrict
SELECT
concat("/vhome/",s_courriel_domaine.nom,"/home/",s_courriel_utilisateur.utilisateur)
as home,
concat("/vhome/",s_courriel_domaine.nom,"/home/",s_courriel_utilisateur.utilisateur,"/mail/index")
as "index",
concat("/vhome/",s_courriel_domaine.nom,"/home/",s_courriel_utilisateur.utilisateur,"/mail/control")
as control,
concat("/var/spool/vmail/",s_courriel_domaine.nom,"/",s_courriel_utilisateur.utilisateur)
as inbox, "maildir++" as layout, s_courriel_utilisateur.uid as
uid,s_courriel_domaine.gid as gid FROM s_courriel_utilisateur left join
s_courriel_alias on
s_courriel_utilisateur.id=s_courriel_alias.utilisateur and
s_courriel_alias.archive !=1 ,s_courriel_domaine WHERE
s_courriel_utilisateur.archive !=1 and s_courriel_domaine.archive !=1
and s_courriel_utilisateur.domaine=s_courriel_domaine.id and
s_courriel_domaine.nom = 'mail.vdl' and (
s_courriel_utilisateur.utilisateur = 'cedrict' or
s_courriel_alias.alias = 'cedrict');
+------------------------------+-----------------------------------------+-------------------------------------------+-----------------------------------+-----------+-------+------+
| home | index
| control |
inbox | layout | uid | gid |
+------------------------------+-----------------------------------------+-------------------------------------------+-----------------------------------+-----------+-------+------+
| /vhome/mail.vdl/home/cedrict | /vhome/mail.vdl/home/cedrict/mail/index
| /vhome/mail.vdl/home/cedrict/mail/control |
/var/spool/vmail/mail.vdl/cedrict | maildir++ | 60001 | 231 |
+------------------------------+-----------------------------------------+-------------------------------------------+-----------------------------------+-----------+-------+------+
Jul 17 14:00:56 devshed dovecot: auth: Debug: master in: USER 1
cedrict@mail.vdl service=lda
Jul 17 14:00:56 devshed dovecot: auth-worker(7009): Debug: Loading
modules from directory: /vdl/lib/dovecot/auth
Jul 17 14:00:56 devshed dovecot: auth-worker(7009): Debug:
sql(cedrict@mail.vdl): SELECT
concat("/vhome/",s_courriel_domaine.nom,"/home/",s_courriel_utilisateur.utilisateur)
as home,
concat("/vhome/",s_courriel_domaine.nom,"/home/",s_courriel_utilisateur.utilisateur,"/mail/index")
as "index",
concat("/vhome/",s_courriel_domaine.nom,"/home/",s_courriel_utilisateur.utilisateur,"/mail/control")
as control,
concat("/var/spool/vmail/",s_courriel_domaine.nom,"/",s_courriel_utilisateur.utilisateur)
as inbox, "maildir++" as layout, s_courriel_utilisateur.uid as
uid,s_courriel_domaine.gid as gid FROM s_courriel_utilisateur left join
s_courriel_alias on
s_courriel_utilisateur.id=s_courriel_alias.utilisateur and
s_courriel_alias.archive !=1 ,s_courriel_domaine WHERE
s_courriel_utilisateur.archive !=1 and s_courriel_domaine.archive !=1
and s_courriel_utilisateur.domaine=s_courriel_domaine.id and
s_courriel_domaine.nom = 'mail.vdl' and (
s_courriel_utilisateur.utilisateur = 'cedrict' or
s_courriel_alias.alias = 'cedrict'
Jul 17 14:00:56 devshed dovecot: auth: Debug: userdb out: USER 1
cedrict@mail.vdl home=/vhome/mail.vdl/home/cedrict
index=/vhome/mail.vdl/home/cedrict/mail/index
control=/vhome/mail.vdl/home/cedrict/mail/control
inbox=/var/spool/vmail/mail.vdl/cedrict layout=maildir++ uid=60001
gid=231
Jul 17 14:00:56 devshed dovecot: lda: Debug: auth input:
cedrict@mail.vdl home=/vhome/mail.vdl/home/cedrict
index=/vhome/mail.vdl/home/cedrict/mail/index
control=/vhome/mail.vdl/home/cedrict/mail/control
inbox=/var/spool/vmail/mail.vdl/cedrict layout=maildir++ uid=60001 gid=231
Jul 17 14:00:56 devshed dovecot: lda: Debug: Added userdb setting:
plugin/control=/vhome/mail.vdl/home/cedrict/mail/control
Jul 17 14:00:56 devshed dovecot: lda: Debug: Added userdb setting:
plugin/inbox=/var/spool/vmail/mail.vdl/cedrict
Jul 17 14:00:56 devshed dovecot: lda: Debug: Added userdb setting:
plugin/index=/vhome/mail.vdl/home/cedrict/mail/index
Jul 17 14:00:56 devshed dovecot: lda: Debug: Added userdb setting:
plugin/layout=maildir++
Jul 17 14:00:56 devshed dovecot: lda(cedrict@mail.vdl): Debug: Effective
uid=60001, gid=231, home=/vhome/mail.vdl/home/cedrict
Jul 17 14:00:56 devshed dovecot: lda(cedrict@mail.vdl): Debug: quota: No
quota setting - plugin disabled
Jul 17 14:00:56 devshed dovecot: lda(cedrict@mail.vdl): Debug:
maildir++: root=/vhome/mail.vdl/home/cedrict/mail, index=, indexpvt=,
control=/vhome/mail.vdl/home/cedrict/mail/control,
inbox=/var/spool/vmail/mail.vdl/cedrict, alt=
Jul 17 14:00:56 devshed dovecot: lda(cedrict@mail.vdl): Debug: quota: No
quota setting - plugin disabled
Jul 17 14:00:56 devshed dovecot: lda(cedrict@mail.vdl): Debug: none:
root=, index=, indexpvt=, control=, inbox=, alt=
Jul 17 14:00:56 devshed dovecot: lda(cedrict@mail.vdl): Debug:
Destination address: cedrict@mail.vdl (source: user@hostname)
Jul 17 14:00:56 devshed dovecot: lda(cedrict@mail.vdl): Debug: sieve:
Pigeonhole version 0.4.1 initializing
Jul 17 14:00:56 devshed dovecot: lda(cedrict@mail.vdl): Debug: sieve:
script file /vhome/mail.vdl/home/cedrict/mail/sieve/cedrict not found
Jul 17 14:00:56 devshed dovecot: lda(cedrict@mail.vdl): Debug: sieve:
user's script /vhome/mail.vdl/home/cedrict/mail/sieve/cedrict doesn't
exist (trying default script location instead)
Jul 17 14:00:56 devshed dovecot: lda(cedrict@mail.vdl): Debug: sieve: no
default script configured for user
Jul 17 14:00:56 devshed dovecot: lda(cedrict@mail.vdl): Debug: sieve:
user has no valid location for a personal script
Jul 17 14:00:56 devshed dovecot: lda(cedrict@mail.vdl): Debug: sieve: no
scripts to execute: reverting to default delivery.
Jul 17 14:00:56 devshed dovecot: lda(cedrict@mail.vdl):
msgid=201307171800.r6HI0unE007004@devshed.derytelecom.ca: saved mail
to INBOX
Transaction debug for alias test@mail.vdl with message added to file /var/spool/vmail/mail.vdl/test
mysql> SELECT
concat("/vhome/",s_courriel_domaine.nom,"/home/",s_courriel_utilisateur.utilisateur)
as home,
concat("/vhome/",s_courriel_domaine.nom,"/home/",s_courriel_utilisateur.utilisateur,"/mail/index")
as "index",
concat("/vhome/",s_courriel_domaine.nom,"/home/",s_courriel_utilisateur.utilisateur,"/mail/control")
as control,
concat("/var/spool/vmail/",s_courriel_domaine.nom,"/",s_courriel_utilisateur.utilisateur)
as inbox, "maildir++" as layout, s_courriel_utilisateur.uid as
uid,s_courriel_domaine.gid as gid FROM s_courriel_utilisateur left
join s_courriel_alias on
s_courriel_utilisateur.id=s_courriel_alias.utilisateur and
s_courriel_alias.archive !=1 ,s_courriel_domaine WHERE
s_courriel_utilisateur.archive !=1 and s_courriel_domaine.archive !=1
and s_courriel_utilisateur.domaine=s_courriel_domaine.id and
s_courriel_domaine.nom = 'mail.vdl' and (
s_courriel_utilisateur.utilisateur = 'test' or s_courriel_alias.alias =
'test' );
+------------------------------+-----------------------------------------+-------------------------------------------+-----------------------------------+-----------+-------+------+
| home | index
| control |
inbox | layout | uid | gid |
+------------------------------+-----------------------------------------+-------------------------------------------+-----------------------------------+-----------+-------+------+
| /vhome/mail.vdl/home/cedrict | /vhome/mail.vdl/home/cedrict/mail/index
| /vhome/mail.vdl/home/cedrict/mail/control |
/var/spool/vmail/mail.vdl/cedrict | maildir++ | 60001 | 231 |
+------------------------------+-----------------------------------------+-------------------------------------------+-----------------------------------+-----------+-------+------+
1 row in set (0,00 sec)
Jul 17 14:03:10 devshed dovecot: auth-worker(7135): Debug:
sql(test@mail.vdl): SELECT
concat("/vhome/",s_courriel_domaine.nom,"/home/",s_courriel_utilisateur.utilisateur)
as home,
concat("/vhome/",s_courriel_domaine.nom,"/home/",s_courriel_utilisateur.utilisateur,"/mail/index")
as "index",
concat("/vhome/",s_courriel_domaine.nom,"/home/",s_courriel_utilisateur.utilisateur,"/mail/control")
as control,
concat("/var/spool/vmail/",s_courriel_domaine.nom,"/",s_courriel_utilisateur.utilisateur)
as inbox, "maildir++" as layout, s_courriel_utilisateur.uid as
uid,s_courriel_domaine.gid as gid FROM s_courriel_utilisateur left
join s_courriel_alias on
s_courriel_utilisateur.id=s_courriel_alias.utilisateur and
s_courriel_alias.archive !=1 ,s_courriel_domaine WHERE
s_courriel_utilisateur.archive !=1 and s_courriel_domaine.archive !=1
and s_courriel_utilisateur.domaine=s_courriel_domaine.id and
s_courriel_domaine.nom = 'mail.vdl' and (
s_courriel_utilisateur.utilisateur = 'test' or s_courriel_alias.alias =
'test' )
Jul 17 14:03:10 devshed dovecot: auth: Debug: userdb out: USER 1
test@mail.vdl home=/vhome/mail.vdl/home/cedrict
index=/vhome/mail.vdl/home/cedrict/mail/index
control=/vhome/mail.vdl/home/cedrict/mail/control
inbox=/var/spool/vmail/mail.vdl/cedrict layout=maildir++ uid=60001
gid=231
Jul 17 14:03:10 devshed dovecot: lda: Debug: auth input: test@mail.vdl
home=/vhome/mail.vdl/home/cedrict
index=/vhome/mail.vdl/home/cedrict/mail/index
control=/vhome/mail.vdl/home/cedrict/mail/control
inbox=/var/spool/vmail/mail.vdl/cedrict layout=maildir++ uid=60001 gid=231
Jul 17 14:03:10 devshed dovecot: lda: Debug: Added userdb setting:
plugin/control=/vhome/mail.vdl/home/cedrict/mail/control
Jul 17 14:03:10 devshed dovecot: lda: Debug: Added userdb setting:
plugin/inbox=/var/spool/vmail/mail.vdl/cedrict
Jul 17 14:03:10 devshed dovecot: lda: Debug: Added userdb setting:
plugin/index=/vhome/mail.vdl/home/cedrict/mail/index
Jul 17 14:03:10 devshed dovecot: lda: Debug: Added userdb setting:
plugin/layout=maildir++
Jul 17 14:03:10 devshed dovecot: lda(test@mail.vdl): Debug: Effective
uid=60001, gid=231, home=/vhome/mail.vdl/home/cedrict
Jul 17 14:03:10 devshed dovecot: lda(test@mail.vdl): Debug: quota: No
quota setting - plugin disabled
Jul 17 14:03:10 devshed dovecot: lda(test@mail.vdl): Debug: maildir++:
root=/vhome/mail.vdl/home/cedrict/mail, index=, indexpvt=,
control=/vhome/mail.vdl/home/cedrict/mail/control,
inbox=/var/spool/vmail/mail.vdl/test, alt=
Jul 17 14:03:10 devshed dovecot: lda(test@mail.vdl): Debug: quota: No
quota setting - plugin disabled
Jul 17 14:03:10 devshed dovecot: lda(test@mail.vdl): Debug: none: root=,
index=, indexpvt=, control=, inbox=, alt=
Jul 17 14:03:10 devshed dovecot: lda(test@mail.vdl): Debug: Destination
address: test@mail.vdl (source: user@hostname)
Jul 17 14:03:10 devshed dovecot: lda(test@mail.vdl): Debug: sieve:
Pigeonhole version 0.4.1 initializing
Jul 17 14:03:10 devshed dovecot: lda(test@mail.vdl): Debug: sieve:
script file /vhome/mail.vdl/home/cedrict/mail/sieve/test not found
Jul 17 14:03:10 devshed dovecot: lda(test@mail.vdl): Debug: sieve:
user's script /vhome/mail.vdl/home/cedrict/mail/sieve/test doesn't exist
(trying default script location instead)
Jul 17 14:03:10 devshed dovecot: lda(test@mail.vdl): Debug: sieve: no
default script configured for user
Jul 17 14:03:10 devshed dovecot: lda(test@mail.vdl): Debug: sieve: user
has no valid location for a personal script
Jul 17 14:03:10 devshed dovecot: lda(test@mail.vdl): Debug: sieve: no
scripts to execute: reverting to default delivery.
I also tried adding the username in the sql query, same problem, there's the debug :
[root@devshed ~]# Jul 17 14:11:59 devshed dovecot: lda: Debug: Loading
modules from directory: /vdl/lib/dovecot
Jul 17 14:11:59 devshed dovecot: lda: Debug: Module loaded:
/vdl/lib/dovecot/lib10_quota_plugin.so
Jul 17 14:11:59 devshed dovecot: lda: Debug: Module loaded:
/vdl/lib/dovecot/lib90_sieve_plugin.so
Jul 17 14:11:59 devshed dovecot: auth: Debug: master in: USER 1
test@mail.vdl service=lda
Jul 17 14:11:59 devshed dovecot: auth-worker(7385): Debug: Loading
modules from directory: /vdl/lib/dovecot/auth
Jul 17 14:11:59 devshed dovecot: auth-worker(7385): Debug:
sql(test@mail.vdl): SELECT s_courriel_utilisateur.utilisateur as
username,
concat("/vhome/",s_courriel_domaine.nom,"/home/",s_courriel_utilisateur.utilisateur)
as home,
concat("/vhome/",s_courriel_domaine.nom,"/home/",s_courriel_utilisateur.utilisateur,"/mail/index")
as "index",
concat("/vhome/",s_courriel_domaine.nom,"/home/",s_courriel_utilisateur.utilisateur,"/mail/control")
as control,
concat("/var/spool/vmail/",s_courriel_domaine.nom,"/",s_courriel_utilisateur.utilisateur)
as inbox, "maildir++" as layout, s_courriel_utilisateur.uid as
uid,s_courriel_domaine.gid as gid FROM s_courriel_utilisateur left
join s_courriel_alias on
s_courriel_utilisateur.id=s_courriel_alias.utilisateur and
s_courriel_alias.archive !=1 ,s_courriel_domaine WHERE
s_courriel_utilisateur.archive !=1 and s_courriel_domaine.archive !=1
and s_courriel_utilisateur.domaine=s_courriel_domaine.id and
s_courriel_domaine.nom = 'mail.vdl' and (
s_courriel_utilisateur.utilisateur = 'tes
Jul 17 14:11:59 devshed dovecot: auth-worker(7385): Debug:
auth(test@mail.vdl): username changed test@mail.vdl -> cedrict@mail.vdl
Jul 17 14:11:59 devshed dovecot: auth: Debug: userdb out: USER 1
test@mail.vdl home=/vhome/mail.vdl/home/cedrict
index=/vhome/mail.vdl/home/cedrict/mail/index
control=/vhome/mail.vdl/home/cedrict/mail/control
inbox=/var/spool/vmail/mail.vdl/cedrict layout=maildir++ uid=60001
gid=231
Jul 17 14:11:59 devshed dovecot: lda: Debug: auth input: test@mail.vdl
home=/vhome/mail.vdl/home/cedrict
index=/vhome/mail.vdl/home/cedrict/mail/index
control=/vhome/mail.vdl/home/cedrict/mail/control
inbox=/var/spool/vmail/mail.vdl/cedrict layout=maildir++ uid=60001 gid=231
Jul 17 14:11:59 devshed dovecot: lda: Debug: Added userdb setting:
plugin/control=/vhome/mail.vdl/home/cedrict/mail/control
Jul 17 14:11:59 devshed dovecot: lda: Debug: Added userdb setting:
plugin/inbox=/var/spool/vmail/mail.vdl/cedrict
Jul 17 14:11:59 devshed dovecot: lda: Debug: Added userdb setting:
plugin/index=/vhome/mail.vdl/home/cedrict/mail/index
Jul 17 14:11:59 devshed dovecot: lda: Debug: Added userdb setting:
plugin/layout=maildir++
Jul 17 14:11:59 devshed dovecot: lda(test@mail.vdl): Debug: Effective
uid=60001, gid=231, home=/vhome/mail.vdl/home/cedrict
Jul 17 14:11:59 devshed dovecot: lda(test@mail.vdl): Debug: quota: No
quota setting - plugin disabled
Jul 17 14:11:59 devshed dovecot: lda(test@mail.vdl): Debug: maildir++:
root=/vhome/mail.vdl/home/cedrict/mail, index=, indexpvt=,
control=/vhome/mail.vdl/home/cedrict/mail/control,
inbox=/var/spool/vmail/mail.vdl/test, alt=
Jul 17 14:11:59 devshed dovecot: lda(test@mail.vdl): Debug: quota: No
quota setting - plugin disabled
Jul 17 14:11:59 devshed dovecot: lda(test@mail.vdl): Debug: none: root=,
index=, indexpvt=, control=, inbox=, alt=
Jul 17 14:11:59 devshed dovecot: lda(test@mail.vdl): Debug: Destination
address: test@mail.vdl (source: user@hostname)
Jul 17 14:11:59 devshed dovecot: lda(test@mail.vdl): Debug: sieve:
Pigeonhole version 0.4.1 initializing
Jul 17 14:11:59 devshed dovecot: lda(test@mail.vdl): Debug: sieve:
script file /vhome/mail.vdl/home/cedrict/mail/sieve/test not found
Jul 17 14:11:59 devshed dovecot: lda(test@mail.vdl): Debug: sieve:
user's script /vhome/mail.vdl/home/cedrict/mail/sieve/test doesn't exist
(trying default script location instead)
Jul 17 14:11:59 devshed dovecot: lda(test@mail.vdl): Debug: sieve: no
default script configured for user
Jul 17 14:11:59 devshed dovecot: lda(test@mail.vdl): Debug: sieve: user
has no valid location for a personal script
Jul 17 14:11:59 devshed dovecot: lda(test@mail.vdl): Debug: sieve: no
scripts to execute: reverting to default delivery.
Jul 17 14:11:59 devshed dovecot: lda(test@mail.vdl):
msgid=201307171811.r6HIBxWe007380@devshed.derytelecom.ca: saved mail
to INBOX
Cedric