在 Linux 服务器上转发收到的邮件?

在 Linux 服务器上转发收到的邮件?

我正在尝试在我的新服务器上设置邮件转发。例如,我想要[电子邮件保护]将所有发送给它的电子邮件转发给,例如,[电子邮件保护]。我不需要/不想从我的域名发送邮件。

我正在运行 Ubuntu 10.04,它是我的服务器,所以我有 root 访问权限,可以安装/修改任何必要的内容。我有几年的 Linux 经验,但之前从未使用过邮件服务器,所以我对它们一无所知。因此,我无法真正理解之前关于这个主题的所有问题。似乎也给出了许多不同的答案,阅读提出的每个解决方案需要很长时间。话虽如此,有人能告诉我如何实现这一点吗?谢谢!

答案1

我更喜欢 postfix,它更容易配置,而且默认情况下,大多数功能都是关闭的:

  1. 安装 postfix。
  2. 在 /etc/postfix/main.cf 中设置这两个选项

    mydomain = example.com
    mydestination = example.com
    

    将“example.com”替换为您的实际域名。这是很重要

  3. 可选择在 main.cf 中设置myhostname为适当的值(也可以是“example.com”)
  4. 在 main.cf 的某处添加此行:

    local_transport = error:local delivery is disabled
    

    这将关闭本地传输,因此向本地用户的电子邮件传递也将关闭(如果您希望本地用户接收电子邮件,可以跳过此步骤)。

  5. 在 main.cf 中,确保您有此行(应该有很多已被注释掉的变体):

    alias_maps = hash:/etc/aliases # (or `hash:/etc/mail/aliases`, etc.)
    
  6. 现在编辑/etc/aliases(或/etc/mail/aliases或 main.cf 中的任何内容)并创建别名:,这将使其成为“emailaddress: [email protected][电子邮件保护]“转发至”[电子邮件保护]

  7. 保存 main.cf 并运行此命令:(postalias /etc/aliases/etc/mail/aliasesmain.cf 中的任何命令)。
  8. 启动后缀:sudo /etc/init.d/postfix start

以下是有关 ubuntu 上的 postfix 的更多信息:https://help.ubuntu.com/community/Postfix

答案2

您是否已拥有一个正常运行的收件服务器?您是否已为域名设置了 MX 记录?

  • 在 DNS 中设置 mx 记录
  • 安装 sendmail

设置/etc/mail/virtusertable以下转发线路:

[email protected]   [email protected]

答案3

我听从了@jon-lin 的建议,但邮件被退回,并显示“收件人地址被拒绝:本地投递已禁用”消息。我发现设置虚拟别名映射有效。

  1. 安装 postfix。

  2. 将以下行添加到 main.cf:

    virtual_alias_domains = mydomain.com myanotherdomain.com

    virtual_alias_maps = hash:/etc/postfix/virtual

  3. 设置/etc/postfix/virtual如下:

    [email protected] [email protected]

    [email protected] [email protected]

    第一个电子邮件是 postfix 接收电子邮件的地址,第二个是 postfix 转发电子邮件的地址。请注意,此处的格式与别名文件不同 - 它是以空格分隔的。

  4. 跑步postmap /etc/postfix/virtual

  5. 使用以下命令重新加载 postfix 配置sudo /etc/init.d/postfix reload

请参阅本指南以供参考:http://www.binarytides.com/postfix-mail-forwarding-debian/

相关内容