关于 curl,大家都知道可以用它来访问 web 页面、下载文件等等。其实它的功能远不止这么点,它支持众多协议,今天,来随凉白开看看如何使用 curl 发送邮件。
确认 curl 是否支持SMTP
首先确认你的 curl 是否支持 smtp
1 | $ curl-config --protocols | grep SMTP |
curl-config
命令默认是没有安装的,需要安装一下。
- CentOS / RHEL
1 | $ yum install libcurl-devel |
- Debian / Ubuntu
1 | $ apt-get install libcurl4-openssl-dev |
如果不支持 smtp 协议,那么升级 curl (需7.20以上版本才支持)
安装高版本CURL
使用 yum 安装的 curl 一般不支持 smtp 协议,接下来我们使用源码包来安装 curl
1 | $ cd /usr/local/src |
再次确认下是否支持 curl
1 | $ /usr/local/bin/curl-config --protocols | grep SMTP |
备注:默认情况下,curl 会被安装到 /usr/local/bin 下,与老版本同时存在。
使用 curl 发送邮件
试着给 dengyun@ttlsa.com 发送一份邮件
编写邮件内容
1 | cat mail.txt |
发送邮件
1 | $ /usr/local/bin/curl -s --url "smtp://smtp.ttlsa.com" --mail-from "support@ttlsa.com" \ |
参数说明
1 | --url :smtp地址 |
curl 更多协议
curl 支持众多协议,想知道当前 curl 支持哪些协议,使用如下命令
1 | /usr/local/bin/curl-config --protocols |
zabbix curl 发邮件脚本
我们通常使用 sendEmail 来发送告警,下面分享一个 zabbix 使用 curl 发送告警邮件的脚本
1 | $ curl zabbix_curl_sendmail.sh |
项目地址
WEB SITE: https://curl.haxx.se/
GitHub: https://github.com/bagder/curl/
转载自: https://www.ttlsa.com/linux/curl-skill-use-curl-send-email/