我想在某个域(假设为“example.com”)上设置一个 Haraka 邮件服务器,该服务器仅用作“gmail.com”电子邮件地址的转发服务。为了便于举例说明,假设我希望所有电子邮件都发送至“[电子邮件保护]' 转发至 '[电子邮件保护]“”。
我已经部分成功地使用‘rcpt_to.alias_forward’ 插件。使用服务器本身发送邮件可以,但从 gmail 发送仍然不行。日志显示邮件已成功转发,但从未到达转发地址。
答案1
您需要做的是首先设置该地址的别名。您可以使用插件aliases
(或您在问题中列出的插件)执行此操作。请参阅此处的文档:http://haraka.github.io/plugins/aliases(并将插件添加到 config/plugins)。
其次,您需要设置所有东西以中继出站内容,因为您希望所有内容都发送到这个地址。您可以relay
通过设置 all=true 选项来使用插件执行此操作:http://haraka.github.io/plugins/relay- 但请注意,它说不要在生产中使用它,所以请仔细阅读下一部分:
最后,您需要确保不转发不属于已知收件人的邮件。您可以使用插件来实现这一点access
。只需将每个电子邮件地址列入黑名单,并将您想要允许的电子邮件地址列入白名单即可。http://haraka.github.io/plugins/access
小心进行此设置。您可以非常轻松地设置开放中继。如果您遇到困难,您可以在 Freenode 上的 #haraka IRC 频道上获得实时帮助,或者使用 Haraka 邮件列表。
答案2
我遇到了同样的问题,通过安装 haraka-alias-forward 插件解决了它:
https://github.com/chadsmith/haraka-alias-forward/blob/master/config/rcpt_to.alias_forward
如果你已经安装了 Haraka,那么:
- 将 rcpt_to.alias_forward.js 文件复制到插件文件夹
- 将 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_forward 配置文件。
{
"example.com": {
"[email protected]": ["[email protected]"]
}
}
如果您希望将发送到您的域的所有电子邮件转发到您的 Gmail 帐户,请使用此配置:
{
"example.com": {
"*": ["[email protected]"]
}
}
哦,还有一件事。如果您使用最新版本的 Haraka,如果启用了 haraka-alias-forward 插件,则在 Haraka 启动时会出错。将 rcpt_to.alias_forward.js 文件更改如下:
从:
Address = require('./address').Address
到:
Address = require('address-rfc2821').Address;
您需要重新启动 Haraka 以使这些更改生效。这对我有用。祝你好运!