免费发送邮件 API 实现各种高效通知功能 🚀
一、大纲
- 前言:选择合适的邮件API
- AokSend 的功能与优势
- 环境准备与基础配置
- 脚本一:检测网站正常性
- 脚本二:监测网站加载延迟
- 脚本三:Python 监控 Windows 应用是否运行
- 如何组合脚本实现复杂通知策略
- 部署建议与扩展思路
- 结语
二、前言:选择合适的邮件API
- 选择合适的邮件API对于项目来说非常重要。
- AokSend 是一款“轻量、高速、安全”的免费邮件发送 API,非常适合中小项目和个人开发者(aoksend.com);
- 支持 RESTful 接口、HTML 模板、多语言调用,且免费额度足够完成日常通知;
- 送达率高、API 简洁,让脚本开发告警功能更高效可靠。
三、AokSend 的核心功能与优势
- 不限速发送:事务性邮件无需限速;
- 专用多 IP 池:送达率高达 99%+,进箱率约 98%;
- 灵活模板支持:可用变量渲染主题/内容;
- 可跟踪点击/打开率:邮件发送分析支持;
- 免费试用:每天有一定免费额度供使用。
四、环境准备与基础配置
- 注册账号,获取
app_key
和template_id
。 - 安装 PHP(带 curl、openssl)或 Python 环境。
- 确保服务器环境允许脚本运行并访问外网。
基础调用示例(PHP):
function send_email($subject, $body) {
$data = [
'app_key' => '你的 app_key',
'template_id' => '你的 template_id',
'to' => '收件人@mail.com',
'alias' => '监控系统',
'is_random' => 1,
'data' => json_encode(['subject'=>$subject,'body'=>$body]),
];
$ch = curl_init('https://www.aoksend.com/index/api/send_email');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => $data,
CURLOPT_SSL_VERIFYPEER => false,
CURLOPT_SSL_VERIFYHOST => false,
]);
$res = curl_exec($ch);
curl_close($ch);
return json_decode($res, true);
}
// 测试发送
var_dump(send_email('测试标题', '这是一封测试邮件'));
五、脚本一:检测网站是否在线
PHP 示例,结合 HTTP、SSL 检查:
// ... 前面定义 send_email()
function check_site($url) {
// 检测逻辑省略,具体参见上篇文章
}
$results = [];
foreach (['https://www.aoksend.com','https://www.fengemail.com'] as $u) {
$r = check_site($u);
if (!$r['ok']) {
$resp = send_email(
"网站异常:{$u}",
"原因:{$r['error']}"
);
$r['notify'] = $resp['code']==200 ? 'Sent' : 'Fail';
}
$results[] = $r;
}
echo json_encode($results, JSON_PRETTY_PRINT);
六、脚本二:监测网站加载延迟(PHP + curl)
function check_delay($url, $threshold=5) {
$ch = curl_init($url);
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER=>true,
CURLOPT_TIMEOUT=>10,
]);
$start = microtime(true);
curl_exec($ch);
$t = microtime(true)-$start;
curl_close($ch);
return $t;
}
$secs = check_delay('https://fenghuomail.com', 5);
if ($secs > 5) {
send_email(
">> 延迟告警:{$secs}s",
"{$url} 加载延迟超 {5}s"
);
}
七、脚本三:Python 监测本地程序是否运行
import subprocess, smtplib, time
def send_email_py(subj, body):
import requests
payload = {...} # 同 PHP 的 POST 结构
resp = requests.post('https://www.aoksend.com/index/api/send_email', data=payload, verify=False)
return resp.json()
def is_process_running(name):
out = subprocess.getoutput(f'tasklist | findstr /I "{name}"')
return name.lower() in out.lower()
if not is_process_running("notepad.exe"):
send_email_py("监控告警", "记事本未运行,已自动发送通知。")
八、组合脚本实现复杂通知策略
- 利用 crontab/PHP 定时检测多个网站在线 + 延迟;
- Python 并行监控关键程序 + 邮件报警;
- 灵活组合,实现全链路的“网站 + 程序”监控告警系统。
九、部署建议与扩展思路
- 部署方式:脚本部署至 Linux VPS,搭配 crontab 定时;
- 日志记录:每次执行结果存入 JSON/日志文件;
- 通知方式扩展:除了邮件,可接入 Slack、微信、Telegram、短信;
- 图表监控:结合 Prometheus + Grafana,实现监控数据显示;
- 扩展脚本:支持 API 可用性、页面流失率、关键字提示等。
十、结语
通过 AokSend 免费邮件 API,结合简单的脚本逻辑,可以轻松搭建灵活、高效的通知系统。无论是网站状态监控、延迟预警,还是本地程序守护,只需小段代码即可实现自动告警,适合个人开发、DevOps 运维和教育教学等多个场景。
如果你觉得这篇文章有帮助,欢迎点赞、收藏、关注,还有技术建议交流也可以留言哦!
后记:优快云 上阅读量高、质量标签多,因为条理清晰、示例丰富,建议配上项目仓库代码链接及实际截图提升效果。