我正在使用 Linux 帐户通过命令行发送电子邮件,但它添加了 @mail.hostname.com

我正在使用 Linux 帐户通过命令行发送电子邮件,但它添加了 @mail.hostname.com
mail -s "subject" $user

我正在使用 Linux 帐户通过命令行发送电子邮件,但它添加了 @mail.hostname.com

所以用户名变成[电子邮件保护]

有没有办法只使用本地帐户发送电子邮件而不使用@mail.hostname.com 或者使用@hostname.com 自动更改它


cd /home/dir/11   
du -m --max-depth=1 | sed 's/[./]//g' | while read space user 
do
    if [ $space -gt 100 ]
                   then

        mail -s "using over 100MB " $user <<MAIL
$user:
You are now using $space MB in your home directory.
The total amount of diskspace allowed is 100 MB.

MAIL
  fi

done

发送邮件时添加机器的主机名[电子邮件保护]应该在哪里[电子邮件保护],我无法更改本地计算机主机名,因为有其他一些连接正在使用它。由于地址错误,邮件被退回:

这是主机 mail.hostname.com 上的 Postfix 程序。

很遗憾地通知您,您的邮件无法发送给一个或多个收件人。附件如下。

如需进一步帮助,请发送邮件至

如果您这样做,请附上此问题报告。您可以从附件的返回消息中删除您自己的文本。

               The Postfix program

(扩展自):未知用户:“user1”

答案1

请查看此文档: http://www.postfix.org/ADDRESS_REWRITING_README.html#generic

以下是链接的摘录。

首先,您需要将通用映射表添加到main.cf。

  /etc/postfix/main.cf:
      smtp_generic_maps = hash:/etc/postfix/generic

然后将您的映射(如何重写外发邮件)放入“/etc/postfix/generic”中。左侧是要重写的地址,另一侧是您需要的地址...

  /etc/postfix/generic:
      [email protected]               [email protected]
      [email protected]               [email protected]
      @localdomain.local                  [email protected]

也可以使用正则表达式。

  /etc/postfix/main.cf:
      smtp_generic_maps = regexp:/etc/postfix/generic_re

在 /etc/postfix/generic_re 中:

  /^(.*)@mail.hostname.com$/   ${1}@hostname.com

之后你应该重新加载 postfix

 postfix reload

相关内容