使用 ssmtp 和 bash 脚本发送电子邮件

0 email 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
Run Code Online (Sandbox Code Playgroud)

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

谢谢!

小智 5

我在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
Run Code Online (Sandbox Code Playgroud)

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