对于我们的网络项目,我们需要一个可靠的电子邮件分发机制。由于过去的糟糕经验,我编写了一个bash脚本(每小时执行一次),如果
中有太多失败。
对于发送通知电子邮件,我显然不想依赖qmail,因为如果qmail发送进程没有运行,qmail将不可用。但是,以下命令通过qmail发送通知电子邮件:
echo "failure rate critical" | mail -s "qmail notification" my@email.com在没有qmail的情况下,从linux命令行发送电子邮件的最简单方法是什么?我能用sendmail吗?
如果你们有更聪明的警报系统来监控qmail,请告诉我。
发布于 2011-02-16 06:22:22
调用/usr/sbin/sendmail二进制文件。无论您使用哪种MTA,它通常都是可用的,如果它名为sendmail,则可以确保它支持标准的sendmail接口。
使用它的最简单方法是调用sendmail -t,然后将包含有效To头的电子邮件写入stdin。如果省略-t,则必须将收件人地址作为命令行参数传递。
另一种解决方案是使用SMTP,但是如果您需要从bash脚本发送电子邮件,这显然是一个糟糕的解决方案,因为Bash中没有包含通过smtp发送电子邮件的功能的标准库(与python不同,在python中,您不能轻松地使用sendmail发送邮件,而是通过SMTP发送邮件)。
发布于 2011-02-16 08:02:56
POSIX中有一个mail实用程序。如果您只支持linux,那么sendmail是可以的(但是您依赖于系统的(Mis)配置,对吗?)
总之,SMTP协议并没有那么难。我会说你可以用纯SMTP语言说话。对于一个琐碎的邮件,需要发出四个命令。它是便携式的:)但如果有并发症,它可能导致皮塔.
https://stackoverflow.com/questions/4934176
复制相似问题