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