答案1
Haraka 可以轻松处理这种情况,并且可以很容易地在 Postfix 前面进行设置,以便您当前的 Postfix 设置继续按原样工作(或者如果您不想这样做,它可以通过 LMTP 直接传送到 Dovecot)。
你可以像下面这样设置 Haraka 插件:
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();
}
将其添加到您的插件目录,并在 config/plugins 中添加一行,指定您调用的文件,以便将其加载到您的配置中。