我想在一个域上设置一个Haraka邮件服务器(比如说'example.com'),它只能作为一个'gmail.com'电子邮件地址的转发服务。 为了这个例子,假设我想所有发送到“[email protected]”的电子邮件都被转发到“[email protected]”。
我已经部分成功地使用'rcpt_to.alias_forward'插件设置了这个。 发送邮件使用服务器本身工作,但从Gmail发送它仍然无法正常工作。 日志表明邮件成功转发,但不会到达转发地址。
你需要做的是首先设置别名的地址。 你可以用aliases插件(或者你在你的问题中列出的插件)来做到这一点。 看到这里的文档: http : //haraka.github.io/manual/plugins/aliases.html (并添加插件到configuration/插件)。
其次,你需要设置一些东西来接收所有的东西,因为你希望所有东西都去这个地址。 你可以通过设置all = true选项来设置relay插件: http : //haraka.github.io/manual/plugins/relay.html – 但是请注意如何在生产环境中使用它,所以请阅读下一个小心一节:
最后,您需要确保您不中继已知收件人的邮件。 你用access插件做这个。 只需将每个电子邮件地址join黑名单,然后将您想要的电子邮件join白名单。 http://haraka.github.io/manual/plugins/access.html
小心这个设置。 你可以很容易地设置一个开放的中继。 如果遇到困难,您可以在Freenode的#haraka IRC频道上获得实时帮助,或使用Haraka邮件列表。
我有同样的问题,我通过安装haraka-alias-forward插件来解决它:
https://github.com/chadsmith/haraka-alias-forward/blob/master/config/rcpt_to.alias_forward
如果你已经安装了Haraka,那么:
如果你从头开始哈拉卡,那么:
git clone https://github.com/haraka/Haraka.git cd Haraka git clone https://github.com/chadsmith/haraka-alias-forward haraka -i <where you want to install Haraka>
启用config / plugins文件中的插件:
# RCPT TO # At least one rcpt_to plugin is REQUIRED for inbound email. The simplest # plugin is in_host_list, see 'haraka -h rcpt_to.in_host_list' to configure. #rcpt_to.in_host_list #rcpt_to.qmail_deliverable #rcpt_to.ldap #rcpt_to.routes rcpt_to.alias_forward
不要忘记用你的规则更新rcpt_to.alias_forwardconfiguration文件。
{ "example.com": { "[email protected]": ["[email protected]"] } }
如果您希望发送到您的域名的所有电子邮件都被转发到您的Gmail帐户,请使用以下configuration:
{ "example.com": { "*": ["[email protected]"] } }
哦,还有一件事。 如果您使用最新版本的Haraka,当Haraka启动时,如果启用了haraka-alias-forward插件,则会出现错误。 更改rcpt_to.alias_forward.js文件,如下所示:
从:
Address = require('./address').Address
至:
Address = require('address-rfc2821').Address;
您需要重新启动Haraka才能使这些更改生效。 这对我有效。 祝你好运!