bash - 使用 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 脚本中执行它。有人能告诉我这是如何做到最好的吗?
谢谢!
解决方案
我在这里阅读了有关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 可执行文件可能位于不同的位置,请进行相应调整。
推荐阅读
- docker - tomcat docker默认自带什么?
- java - 如何从 json 中获取列表的值并进行比较
- javascript - 如何从数组数组中获取整数?
- intellij-idea - 在 IntelliJ 中在 Windows 下运行 Bazel 时包名无效
- docker - 如何构建需要其他镜像/端口的 docker 镜像?
- regex - 为什么 Angular 模式验证不起作用?
- excel - 如何在 Excel 中沿列创建重复的值序列?
- vba - 仅使用 VBA 在没有嵌入 Excel 数据的情况下在 powerpoint 中创建图表
- android - 无法关闭 runOnUiThread 中的对话框
- docker - 来自服务器的错误(BadRequest):pod“espace-client-client”中的容器“espace-client-client”正在等待启动:尝试提取图像但失败