文曦api的邮箱验证码api

        这是自写的一个邮件发送系统,准确的来说是邮件转发,依靠自建的宝塔邮局插件建立邮件服务,然后调用api进行发邮件,所以,你必须了解一下宝塔邮件系统,当然你也可以调用phpmail插件转发其他邮件系统的邮件。贼简单,但是今天呢,有人找我要源码,我就给所有人分享出来吧,毕竟也不是什么重要的源码,但是大家依旧可以使用我的免费api。

        文曦api:api.kekc.cn

        下面是我配置好的宝塔邮局管理系统的截图,大家配置到下面全打勾就可以了。

文曦api的邮箱验证码api  第1张

        文章末尾会转发宝塔官方的宝塔邮局管理器的使用教程。

        拿到源码我希望别拿过去就改说是你们自己写的,文件留个出处,留个网址,有问题了别人也可以找我完善一下代码,然后再分享给你们。

        接下来我来贴一下代码,就几Kb,老样子,回复获取。

<?php
##文曦api:api.vience.cn
##文曦博客:www.vience.cn
##联系邮箱:yinjiangbi@qq.com
header('content-type:application/json;charset=utf-8');
function curlget($url,$method='get',$data=null){
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 1000);
curl_setopt($ch, CURLOPT_TIMEOUT, 500);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
if($method=='post'){
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch,CURLOPT_POSTFIELDS,$data);
}
$result = curl_exec($ch);
curl_close($ch);
if(!$result){
//curl 出现错误
return false;
}
return $result;
}
//发送邮件 宝塔邮件系统发送
function send_mail($email,$subject,$content){
 
        $postdata = [
            'mail_from' => 'vience@vience.cn', //填写宝塔邮局里面的邮箱账户
            'password' => 'mima',//填写宝塔邮局里面自己设置的密码
            'mail_to' => $email,
            'subject' => $subject,
            'content' => $content,
        ];
        $url = 'https://www.kekc.cn/wp-content/uploads/2022/04/send_mail_http.json';//127.0.0.1填写自己的宝塔地址
        $res = @curlget($url,"post",$postdata);
        $res = json_decode($res,true);
        if($res['status']){
            return true;
        }else{
            return false;
        }
 
}
//获取接受到的字符串里面的数字
function findNum($str=''){
    $str=trim($str);
    if(empty($str)){return '';}
    $temp=array('1','2','3','4','5','6','7','8','9','0');
    $result='';
    for($i=0;$i<strlen($str);$i++){
        if(in_array($str[$i],$temp)){
            $result.=$str[$i];
        }
    }
    return $result;
}
$email = $_REQUEST['email'];
$subject = "邮箱验证";
$sendornot['code'] = findNum($_REQUEST['code']);
$content = '您好 !您的邮箱验证码为' . $sendornot['code'] . '。';
if(!$email or !$sendornot['code']){
    exit(json_encode(['result' => 0, 'msg' => "提交信息不全!", 'toemail' => $email, 'code' => $sendornot['code']], JSON_UNESCAPED_UNICODE));
}
$res = @send_mail($email, $subject, $content);
if($res == true){
//echo "邮件发送成功";
exit(json_encode(['result' => 1, 'msg' => "email发送成功!", 'toemail' => $email, 'code' => $sendornot['code']], JSON_UNESCAPED_UNICODE));
}elseif($res == false){
exit(json_encode(['result' => 0, 'msg' => "email发送失败!", 'toemail' => $email, 'code' => $sendornot['code']], JSON_UNESCAPED_UNICODE));
}else{
    exit(json_encode(['result' => 0, 'msg' => "连接发信服务器失败或是其他未知错误!", 'toemail' => $email, 'code' => $sendornot['code']], JSON_UNESCAPED_UNICODE));
}

【宝塔邮局管理器】使用教程【转载自宝塔官网】

安装好邮局管理器插件之后,点击插件会先检测之前是否安装过邮局管理器,如果是全新安装,会出现如下安装界面:
文曦api的邮箱验证码api  第2张
输入在dns中设置好的服务器的A记录,点击安装按钮,就会执行安装过程
注意:
如果A记录设置的不正确,安装过程会中断,并出现错误提示【检测A记录失败】;
如果服务器是云厂商提供的,可能会限制25发件端口,需要先联系厂商开通;
如果要重装请先卸载插件。


大部份海外邮箱有DNS反查机制(如Gmail)如果收不到邮件,需要解析RDNS记录

安装好服务之后,就可以进入邮局管理器主界面了,主界面如下:
文曦api的邮箱验证码api  第3张
左侧菜单栏第一栏是域名列表,这里支持多域名的管理,点击添加域名按钮,出现域名新增界面:
文曦api的邮箱验证码api  第4张
注意:
目前只支持添加一级域名


新增的域名要有MX记录解析到服务器的A记录,这样别人发件时才能通过MX记录找到你的邮件服务器,并且只能有一条MX记录。同时为了防止发件时被反垃圾,还要给域名设置一条TXT记录。
如下图是有MX记录和无MX记录的界面:
文曦api的邮箱验证码api  第5张

MX记录和TXT记录未设置好的域名点击【添加记录值】按钮,会出现操作指引窗口:
文曦api的邮箱验证码api  第6张

按提示在你的dns管理后台添加解析记录即可。

添加好域名之后,我们就可以在该域名下添加邮箱用户了,点击【用户管理】按钮,出现用户管理界面:
文曦api的邮箱验证码api  第7张

点击【添加用户】按钮,就会出现新增用户窗口,如下:
文曦api的邮箱验证码api  第8张

填写用户姓名,邮箱地址,设置邮箱密码,邮箱容量,点击提交即可
注意:
邮箱密码需要至少包含大小写字母和数字;
密码只在这里显示一次,请牢记,如果忘记了,请修改密码。

新增完邮箱用户之后可以根据用户管理下方的使用提示,在邮箱客户端程序如foxmail中使用,同时发件接口支持http接口调用,按照API文档调用接口即可在程序中实现发件。

退回到主界面,点击第二个菜单栏收件箱功能,管理员可以查看各个用户的收件箱,点击下拉框可以选择不同的用户,界面如下:

文曦api的邮箱验证码api  第9张
点击主界面第三个菜单栏发送邮件功能,管理员可以利用任一用户进行发件,界面如下:
文曦api的邮箱验证码api  第10张
注意:
多个收件人用英文逗号隔开。

附:视频教程地址:
https://www.bilibili.com/video/av58306864/

© 版权声明
THE END
喜欢就支持一下吧
点赞6 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称常用语 夸夸
夸夸
还有吗!没看够!
表情代码图片

    暂无评论内容