所以我有一个 bash 脚本,如果我正常执行它,它将发送到我在脚本中指定的电子邮件地址。但是,如果我将其放入 crontab 中并以 root 身份运行它,它将从 root 发送到 root,即使我传递的邮件命令设置了发件人和收件人地址。是什么原因导致这种情况发生?
我在脚本中使用 mail 命令发送电子邮件。
echo $EMAIL_BODY | mail -s "Test" -a "From:[email protected]" "[email protected]"
我会在 postfix 中配置它,而不是使用命令行参数
mail
在
postfix/main.cf
添加或取消注释以下内容
smtp_generic_maps = hash:/etc/postfix/generic
然后创建一个
/etc/postfix/generic
文件,如下所示,并根据需要添加其他用户。 此处映射的项目的发件人地址将更改为 [email protected]
root@localdomain [email protected]
@localdomain [email protected]
[email protected] [email protected]
after editing, create generic DB and restart postfix
sudo postmap /etc/postfix/generic
sudo systemctl restart postfix