如何使用 shell 脚本自动发送邮件

如何使用 shell 脚本自动发送邮件

我需要自动化脚本来获取邮件。例如,当我们运行 shell 脚本时,所有文件是否存在,然后如果邮件中存在,则需要获取消息文件是否存在,否则 xxxxxxxxx.csv 文件单独不存在,请检查。我需要像这样编写脚本,请提出建议。

问候, 辛杜

答案1

你的问题很不清楚,但从我可以看出,你正在尝试定期运行某些东西,并希望在出现问题时收到电子邮件通知,对吗?

如果是这样,只需让您的 shell 脚本打印错误消息,然后从 cron 运行它即可;如果脚本产生任何输出,cron 会自动向您发送一封电子邮件。有关如何执行此操作的更多信息,请运行man crontabman 5 crontab,并阅读该文档。

答案2

if_files(){
    for f do command <"$f" &&
          set -- "$@" "$f"
          shift
    done; printf present:\\t%s\\n "$@"
}   2>&1

mail要从 shell发送,您可以使用mail,但您需要正确配置MTA

许多程序会向您的 Unix 用户帐户发送一封电子邮件,但这很可能最终会出现在死信如果您没有正确配置。其中有cron,正如已经提到的,但也有at,甚至exvi可以这样做,两者都可以运行 shell 脚本。

您可以将上述功能与标准mail客户端一起使用,例如:

if_files ./* |
mail -s file_check [email protected]

相关内容