服务器配置
不同的平台邮箱配置大同小异,具体请参考平台的SMTP邮箱指引,下面列举了常用的邮箱配置,注意您需要在“TaoSql Admin”平台“SMTP邮件”页面“接口配置”中保存邮箱设置信息后才能调用接口发送邮件。
QQ邮箱配置
| 系统参数名称 | 对应参数 | 示例 |
|---|---|---|
| 服务器地址 | QQ邮箱服务器 | smtp.qq.com |
| 端口号 | QQ邮箱服务器端口号 | 587 |
| 邮箱帐户 | QQ邮箱号 | 123456@qq.com |
| 用户名 | QQ号 | 123456 |
| 授权码 | QQ邮箱授权码 | 请看下面的获取方式 |
| 内容类型 | 邮件发送的内容类型 | HTML/TXT |
qq邮箱授权码获取:
浏览器打开https://mail.qq.com/ 登录QQ账号,点击“设置”,在邮箱设置页面中点击“帐户”
浏览器下拉找到“POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务”,将“POP3/SMTP服务”选项开启,按照要求发送短信
确认发送后点击完成发送,红框内字母就是授权码,将授权码填入“授权码”输入框中
163邮箱配置
| 系统参数名称 | 对应参数 | 示例 |
|---|---|---|
| 服务器地址 | 163邮箱服务器 | smtp.163.com |
| 端口号 | 163邮箱服务器端口号 | 25 |
| 邮箱帐户 | 163邮箱号 | 123456@163.com |
| 用户名 | 163不带邮箱格式的账号 | 123456 |
| 授权码 | 163邮箱授权码 | 请看下面的获取方式 |
| 内容类型 | 邮件发送的内容类型 | HTML/TXT |
163邮箱授权码获取:
浏览器打开https://mail.163.com/登录账号,点击“设置”,在弹出菜单中点击“POP3/SMTP/IMAP”
点击进入页面后将“POP3/SMTP服务”选项开启,如弹出二次确认窗口点击“继续开启”,按照要求继续发送短信
按照操作发送短信后显示成功开启提示,红框标记部分就是163邮箱授权码,将授权码填入“授权码”输入框中
API接口
前端调用需要把ip地址改为您服务器的域名,后端如是同一台服务器下可不用修改
接口地址:http://127.0.0.1/taosql/api/sendmail.php
请求参数
| 参数 | 类型 | 是否必填 | 描述 | 示例值 |
|---|---|---|---|---|
| mailbox | String | 是 | 邮件接收者邮箱号 | 123456@qq.com |
| title | String | 是 | 发送的邮件标题 | 网站信息 |
| content | String | 是 | 发送的邮件内容 | 你有待处理的信息 |
| username | String | 是 | TaoSql Admin账号 | 123456 |
| password | String | 是 | TaoSql Admin密码 | 123456 |
http请求示例
http://127.0.0.1/taosql/api/sendmail.php?mailbox=接收邮箱号&title=邮件标题&content=邮件内容&username=您的TaoSql账号&password=您的TaoSql密码
JavaScript请求示例
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>邮件接口请求示例</title>
<link rel="stylesheet" href="https://www.layuicdn.com/layui/css/layui.css" />
<script src="https://www.layuicdn.com/layui/layui.js"></script>
</head>
<body>
<script>
layui.use(function() {
var $ = layui.$;
$.ajax({
url: "http://127.0.0.1/taosql/api/sendmail.php",
type: "POST",
dataType: "json",
data: {
mailbox: "接收邮箱号",
title: "邮件标题",
content: "邮件内容",
username: "你的TaoSql账号",
password: "你的TaoSql密码"
},
beforeSend: function() {
layer.msg("正在发送", {
icon: 16,
shade: 0.05,
time: false
});
},
success: function(data) {
layer.msg(data.code, {
icon: data.icon
});
if (data.icon == "1") {
console.log(data);
alert("邮件发送成功");
}
},
error: function(data) {
var obj = eval(data);
layer.alert(obj.responseText, {
icon: 2
});
}
});
});
</script>
</body>
</html>
PHP请求示例
<?php
header("Content-type:text/html;charset=utf-8");
$url = "http://127.0.0.1/taosql/api/sendmail.php";
$data = [
"mailbox"=>"xxxxxx@qq.com",
"title"=>"测试邮件标题",
"content"=>"测试邮件内容",
"username"=>"admin",
"password"=>"123456"
];
$res = curl($url, $data);
exit($res);//$res是结果
function curl($u, $d=[], $h=[])
{
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $u);
curl_setopt($curl, CURLOPT_HEADER, 0);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_TIMEOUT, 1000);
curl_setopt($curl, CURLOPT_HTTPHEADER, $h);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, $d);
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($curl, CURLOPT_MAXREDIRS, 10);
curl_setopt($curl, CURLOPT_AUTOREFERER, 1);
$data = curl_exec($curl);
if (curl_error($curl)) {
exit("无法发起POST请求");
}
curl_close($curl);
return $data;
}
?>
响应参数
| 参数 | 类型 | 描述 | 状态码 | 状态码说明 |
|---|---|---|---|---|
| icon | String | 状态码 | 1 | 邮件发送成功 |
| 5 | 参数不全或者有误 | |||
| code | String | 文本描述 | - | - |
| data | Object|String | 数据 | - | - |
响应示例
{
"code": "邮件发送成功",
"icon": "1",
"data": ""
}
