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

mail -s "subject" $user 

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

所以用户名变成[email protected]

有没有办法,只需使用本地帐户没有@ 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 

它正在发送邮件[email protected],它应该是[email protected]添加机器的主机名,我不能改变本地机主机名,因为有一些其他的连接使用它。 由于地址错误,邮件正在反弹:

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

我很抱歉不得不通知您,您的邮件无法传送给一个或多个收件人。 它附在下面。

如需进一步的帮助,请发邮件给

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

  The Postfix program 

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

请检查这个文件: 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] 

也可以使用正则expression式..

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

在/ etc / postfix / generic_re中:

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

之后,你应该重新加载后缀

  postfix reload