Haraka pode lidar com este caso facilmente, e é muito fácil de configurar na frente do Postfix para que sua configuração atual do Postfix continue a funcionar como está (ou se você não quiser fazer isso, ele pode entregar direto ao Dovecot via LMTP).
Você configurou um plug-in do Haraka como o seguinte:
var net_utils = require('./net_utils');
exports.hook_rcpt = function (next, connection, params) {
var recip = params[0];
if (connection.relaying) {
// Already relaying (i.e. outbound) - skip.
return next();
}
// Get who this is coming from and change a.b.example.com into just example.com
var check_domain = net_utils.get_organizational_domain(connection.transaction.mail_from.host);
// Turn 'example.com' into just 'example'
check_domain = check_domain.replace(/\..*$/, '');
if (check_domain.toLowerCase() != recip.user.toLowerCase()) {
return next(DENY, "You dirty dirty spammer");
}
next();
}
Adicione ao seu diretório plugins, e adicione uma linha ao config / plugins especificando o que você chamou o arquivo para que ele seja carregado em sua configuração.