如何通过gmail帐户从bash发送电子邮件?

如何通过gmail帐户从bash发送电子邮件?

问题描述:

我有一个bash脚本,它定期检查某个ruby脚本是否启动。 Ruby脚本必须全天候运行。如果不是,bash脚本必须发送电子邮件。如何通过gmail帐户从bash发送电子邮件?

这是我如何确保红宝石始终上涨的愿景。那么通过gmail从bash发送电子邮件的最简单方法是什么?

或者有更好的方法来通知管理员有什么问题吗?

+0

你为什么要通过Gmail发送它?如果您只想发送电子邮件,则可以使用'mail'命令。 –

+0

@t_thirupathi,gmail我想 –

+0

你的MTA是什么? – mauro

这是我在我的一个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/nullmutt,使其无需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配置。