I recently updated exim and now I had the error "Account [email protected] can not send emails from [email protected]".
I could see from the documentation and the exim.pl script that domain aliases are covered, however I have a special case over here:
I'm using roundcube to send the emails and I have a main domain configured "domain.be", with some aliases like domain.nl
When I log on to roundcube I'm using already for years [email protected] as username (instead of .be) and I configured an identity [email protected] there.
So my /etc/virtual is looking like this:
The suggestion I have is to adapt some lines in exim.pl for the method deny_auth_sender around this line:
return "no" if ($auth_user eq $sender_user && -l $domain_dir && $auth_domain eq readlink($domain_dir));
To (or any similar suggestion):
So that in this case some kind of reverse check is also done for domain aliases usage.
I could see from the documentation and the exim.pl script that domain aliases are covered, however I have a special case over here:
I'm using roundcube to send the emails and I have a main domain configured "domain.be", with some aliases like domain.nl
When I log on to roundcube I'm using already for years [email protected] as username (instead of .be) and I configured an identity [email protected] there.
So my /etc/virtual is looking like this:
Code:
ls -l /etc/virtual/domain*
lrwxrwxrwx 1 mail mail 14 Dec 28 20:13 /etc/virtual/domain.eu -> domain.be
lrwxrwxrwx 1 mail mail 14 Dec 28 20:13 /etc/virtual/domain.net -> domain.be
lrwxrwxrwx 1 mail mail 14 Dec 28 20:13 /etc/virtual/domain.nl -> domain.be
/etc/virtual/domain.be:
total 92
-rw------- 1 mail mail 285 Dec 29 11:45 aliases
-rw------- 1 mail mail 0 Dec 28 20:12 autoresponder.conf
-rw------- 1 mail mail 1679 Nov 19 2013 dkim.private.key
..
The suggestion I have is to adapt some lines in exim.pl for the method deny_auth_sender around this line:
return "no" if ($auth_user eq $sender_user && -l $domain_dir && $auth_domain eq readlink($domain_dir));
To (or any similar suggestion):
Code:
my $auth_dir = "/etc/virtual/" . $auth_domain;
# Allow same local part from alias domain
return "no" if ($auth_user eq $sender_user && -l $domain_dir && $auth_domain eq readlink($domain_dir));
return "no" if ($auth_user eq $sender_user && -d $auth_dir && readlink($auth_dir) eq $sender_domain);
So that in this case some kind of reverse check is also done for domain aliases usage.