允许postfix用户本地发送电子邮件而不发送到gmail吗?

允许postfix用户本地发送电子邮件而不发送到gmail吗?

这个特定的 Linux CentOS 服务器完全位于 LAN 内部。它用于开发和测试。使用 postfix,我能够将其配置为使用 gmail 帐户发送电子邮件。但是,系统上发送给 root 的任何内容都需要转发到外部电子邮件帐户。但当发生这种情况时,它会被 Google 的 gmail 返回,因为它不知道如何处理本地域:

Address not found
Your message wasn't delivered to [email protected] because the domain foobaz.localdomain couldn't be found. Check for typos or unnecessary spaces and try again.

到目前为止,我在 /root/.forward 中输入[电子邮件保护]并上市[电子邮件保护]在 /etc/aliases 中为用户“root”。

以下是 /etc/postfix/main.cf 文件与 postfix 提供的原始文件的差异:

[root@foobaz postfix]# diff ORIGINAL_main.cf main.cf
119c119
< inet_protocols = all
---
> inet_protocols = ipv4
679a680,690
> 
> myhostname = foobaz
> 
> relayhost = [smtp.gmail.com]:587
> smtp_use_tls = yes
> smtp_sasl_auth_enable = yes
> smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
> smtp_tls_CAfile = /etc/ssl/certs/ca-bundle.crt
> smtp_sasl_security_options = noanonymous
> smtp_sasl_tls_security_options = noanonymous
> 

过去,我记得 Linux CentOS 系统无需进行任何更改即可允许发往“root”的电子邮件发送到 root 邮箱。但是,我现在使用 postfix 进行配置的方式是,它会将所有内容发送到 Google 的 gmail 进行解析,当然,这是不可能的,因为我没有使用完全合格的域名。此外,它无法工作,因为它需要找到通往实际“root”用户的路径,以便 /root/.forward 和 /etc/aliases 发挥其魔力。

我如何添加此功能,以便 Gmail 仍能按现在的方式向外界发送电子邮件,但知道用户“root”需要在系统上保持本地,以便最终将其传递到“root”邮箱,然后正确转发到外部电子邮件地址?

正是对 main.cf 的改变使得这项工作得以完成:

mydestination = foobaz.localdomain, $myhostname, localhost.$mydomain, localhost

答案1

relayhost是非本地邮件的下一跳目的地,因此您需要在本地处理此主机名。由于您想使用 中的映射来处理最终目的地/etc/aliases,因此您需要在 中列出主机名mydestination

  • 默认:

    mydestination = $myhostname, localhost.$mydomain, localhost
    
  • 您添加的主机名:

    mydestination = foobaz.localdomain, myhostname, localhost.$mydomain, localhost
    

相关内容