Hello @paulc
We’re in the same situation, we’ve have an existant server since more than 10 years with aliases on character “-” rather than “+”, to prevent detection on websites registration ( so as you, we add the name of the domain in your email: guillaume-google@mydomain … ).
So we tried to move to Mailcow, but not sure it’s possible for my company, Mailcow doesn’t seems to be customized, so may be it’s not the good solution for us, and need to go on other solutions ( docker-mailserver, mailu, iredmail… )
But Mailcow seems to have a lot of updates, and so we would like to check if there is a solution or not.
Could you tell us how to you have hacked the function remove_email_aliases() in rspamd please?
For me theses lines are concerned:
local cap, pluses = string.match(no_dots_user, '^([^%+][^%+]*)(%+.*)$')
return cap, rspamd_str_split(pluses, '+'), nil
local cap, pluses = string.match(addr.user, '^([^%+][^%+]*)(%+.*)$')
return cap, rspamd_str_split(pluses, '+'), nil
And may be should be updated like that:
local cap, pluses = string.match(no_dots_user, '^([^%][^%-]*)(%-.*)$')
return cap, rspamd_str_split(pluses, '-'), nil
local cap, pluses = string.match(addr.user, '^([^%-][^%-]*)(%-.*)$')
return cap, rspamd_str_split(pluses, '-'), nil
Right ?
And to prevent any problem of update, we need to revert back our changes before applying the Mailcow update (not needed for the 2 others ~/data/conf files)
@diekuh Thanks also for the feedback and warnings, as Paulc we don’t care about subject line rewriting or sub-folders tagging features. I believe most of people use this kind of configuration, and may be this could be really useful feature to propose to your users. If not, I’m ok to revert back my changes every time there is an update. BTW if you can just confirm your last precision, about the lines to update in ~/data/conf/rspamd/dynmaps/settings.php :
$rcpt[] = ‘/^’ . str_replace(‘/’, ‘\/’, $local) . ‘[+].’ . str_replace(‘/’, ‘\/’, $domain) . ‘$/i’;
$rcpt[] = ‘/^’ . str_replace(‘/’, ‘\/’, $local) . ‘[+].’ . str_replace(‘/’, ‘\/’, $domain) . ‘$/i’;
like this I suppose:
$rcpt[] = ‘/^’ . str_replace(‘/’, ‘\/’, $local) . ‘[-].’ . str_replace(‘/’, ‘\/’, $domain) . ‘$/i’;
$rcpt[] = ‘/^’ . str_replace(‘/’, ‘\/’, $local) . ‘[-].’ . str_replace(‘/’, ‘\/’, $domain) . ‘$/i’;
Right ?
Thanks for your help and long life to Mailcow :-)