如何通过gmail帐户从bash发送电子邮件?
我有一个bash脚本,它定期检查某个ruby脚本是否启动。 Ruby脚本必须全天候运行。如果不是,bash脚本必须发送电子邮件。如何通过gmail帐户从bash发送电子邮件?
这是我如何确保红宝石始终上涨的愿景。那么通过gmail从bash发送电子邮件的最简单方法是什么?
或者有更好的方法来通知管理员有什么问题吗?
这是我在我的一个Raspberry PI上的解决方案。它使用我的Gmail帐户发送电子邮件。我确实使用“SSMTP”作为MTA,使用“mailx”作为命令行工具来撰写电子邮件。 mailx通过cron激活。
配置非常简单。这些都是我ssmtp中配置的相关部分在/etc/ssmtp/ssmtp.cnf
:
# The person who gets all mail for userids < 1000
[email protected]
# The place where the mail goes
mailhub=smtp.gmail.com:587
# The full hostname (FQDN of the Linux box used to send emails)
hostname=planck.xyz.it
# Gmail account username & passed:
[email protected]
AuthPass=xyz
# Other config params:
UseTLS=YES
UseSTARTTLS=YES
FromLineOverride=YES
我ssmtp中在开机时自动启动。
然后,您可以从命令行发送电子邮件。我每天晚上都会收到Raspberry Pi的统计数据。这是我的crontab条目:
00 03 * * * /usr/local/bin/xyz.sh | mailx -s "xyz xyz at $(date)" [email protected]
你可以 - 发送电子邮件(通过mailx的)任何有效的电子邮件地址
那么什么是通过Gmail从庆典发送电子邮件的最简单的方法 - 当然?
我重定向/dev/null
至mutt
,使其无需UI即可发送电子邮件CLI。
我把下面的函数在我的.bashrc :
# Usage: em <list-of-contacts> <mutt-options>
em() {
local contacts=()
while [[ -n $1 && $1 != -* ]]; do
contacts+=("$1")
shift
done
mutt "[email protected]" -- "${contacts[@]}" < /dev/null
}
在.mutt的别名我保持联系,他们的电子邮件列表,这让我可以方便地发送E-通过执行这样的邮件:
em daniel david -s 'Hello Daniel and David' -a /home/rany/Books/K_and_R.pdf
将发送一封电子邮件,丹尼尔和大卫,与主题你好Daniel和David和附件/home/rany/Books/K_and_R.pdf。
我有时想写一个很短的电子邮件正文,所以我执行下面的bash命令:
em daniel david -s 'Hi guys' -i <(printf '%s\n' "Check out this too!")
,这可能是在撰写和发送短通知您的管理员对您有所帮助。
如果你碰巧运行的Archlinux像我一样,看到Mutt Installation如何设置笨蛋与IMAP,POP3,Maildir的和SMTP配置。
你为什么要通过Gmail发送它?如果您只想发送电子邮件,则可以使用'mail'命令。 –
@t_thirupathi,gmail我想 –
你的MTA是什么? – mauro