首页 > 解决方案 > 使用 ssmtp 和 bash 脚本发送电子邮件

问题描述

我是 bash 脚本的新手。

我有这个命令行从终端发送带有 sstmp 的电子邮件:

{
    echo To: user@gmail.com
    echo From: user@gmail.com
    echo Subject: "[Alert]"
echo 'McDonalds now offers vegan burgers and vegan ice cream!'
} | ssmtp user@gmail.com

我想在 bash 脚本中执行它。有人能告诉我这是如何做到最好的吗?

谢谢!

标签: bashemail

解决方案


我在这里阅读了有关stackoverflow的其他文章。Control-D 实际上是文件结束 (EOF) 的击键。我编写了一个使用 SSMTP 发送的 bash 脚本。试试这个:

SUBJECT="TEST TEST TEST"
CONTENTS="This is an email!"

/usr/sbin/ssmtp -t << EOF
To: recipient@xxx.xxx
From: sender@xxx.xxx
Subject: $SUBJECT

$CONTENTS

Cheers,
Me
EOF

SSMTP 中的-t解析电子邮件,如果找到有效的收件人:、抄送:或密件抄送:则使用这些地址。在走这么远之前,请确保您的 ssmtp 配置良好。同样,您的 ssmtp 可执行文件可能位于不同的位置,请进行相应调整。


推荐阅读