服务器配置

不同的平台邮箱配置大同小异,具体请参考平台的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账号,点击“设置”,在邮箱设置页面中点击“帐户”
image.png
浏览器下拉找到“POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务”,将“POP3/SMTP服务”选项开启,按照要求发送短信
image.png
确认发送后点击完成发送,红框内字母就是授权码,将授权码填入“授权码”输入框中
image.png

163邮箱配置

系统参数名称 对应参数 示例
服务器地址 163邮箱服务器 smtp.163.com
端口号 163邮箱服务器端口号 25
邮箱帐户 163邮箱号 123456@163.com
用户名 163不带邮箱格式的账号 123456
授权码 163邮箱授权码 请看下面的获取方式
内容类型 邮件发送的内容类型 HTML/TXT

163邮箱授权码获取
浏览器打开https://mail.163.com/登录账号,点击“设置”,在弹出菜单中点击“POP3/SMTP/IMAP”
image.png
点击进入页面后将“POP3/SMTP服务”选项开启,如弹出二次确认窗口点击“继续开启”,按照要求继续发送短信
image.png
按照操作发送短信后显示成功开启提示,红框标记部分就是163邮箱授权码,将授权码填入“授权码”输入框中
image.png


API接口

前端调用需要把ip地址改为您服务器的域名,后端如是同一台服务器下可不用修改

接口地址:http://127.0.0.1/taosql/api/sendmail.php

返回格式:json
请求方式:get/post

请求参数

参数 类型 是否必填 描述 示例值
mailbox String 邮件接收者邮箱号 123456@qq.com
title String 发送的邮件标题 网站信息
content String 发送的邮件内容 你有待处理的信息
username String TaoSql Admin账号 123456
password String TaoSql Admin密码 123456

http请求示例

  1. 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": ""
}