gpt4 book ai didi

linux - 用于清除 exim 队列和自己发送电子邮件的脚本,电子邮件中包含电子邮件和主题

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:58:15 25 4
gpt4 key购买 nike

谁能告诉我这个脚本有什么问题?

(printf "To:myemail@mydomain.com\nSubject: Mail queue cleanup for for My-VPS-Linux\n\n" ; /usr/sbin/exim -bp | awk '/^ *[0-9]+[mhd]/{print "/usr/sbin/exim -Mrm " $3}' ) | bash | /usr/sbin/sendmail myemail@mydomain.com

只要我通过 SSH 运行它,我就会收到这个错误

bash: line 1: To:myemail@mydomain.com: command not found
bash: line 2: Subject:: command not found

我想要实现的是在 cronjob 中定义后通过此脚本清除 exim 队列。当我运行以下脚本时

/usr/sbin/exim -bp | awk '/^ *[0-9]+[mhd]/{print "/usr/sbin/exim -Mrm " $3}' ) | bash | /usr/sbin/sendmail myemail@mydomain.com

它工作得很好,在清除电子邮件队列后给我发了一封电子邮件,但它没有发布任何主题或电子邮件地址...

问候,法拉兹·H·汗

最佳答案

因为您首先放置了子 shell,所以您的 Subject: 和 To: 打印行在 exim 的输出之前打印,并且正在由 bash 处理。您应该稍后移动子外壳:

/usr/sbin/exim -bp | awk '/^ *[0-9]+[mhd]/{print "/usr/sbin/exim -Mrm " $3}' | (printf "To:myemail@mydomain.com\nSubject: Mail queue cleanup for for My-VPS-Linux\n\n"; bash) | /usr/sbin/sendmail myemail@mydomain.com

这会在任何其他输出之前打印您的 Subject: 和 To: 行,但 bash 不会处理这些行。

关于linux - 用于清除 exim 队列和自己发送电子邮件的脚本,电子邮件中包含电子邮件和主题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23498574/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com