精华内容
下载资源
问答
  • PHP实现邮箱验证码验证功能
    2021-03-24 10:03:00

    标签:邮箱验证   登录   格式   tar   程序   body   用户名   实现   include

    *文章来源:https://blog.egsec.cn/archives/623  (我的主站)

    *本文将主要说明:PHP实现邮箱验证码验证功能,通过注册或登录向用户发送身份确认验证码,并通过判断输入的验证码是否正确做出登录判断。

    实现邮箱验证码功能有三个步骤:

    1、下载 PHPMailer 组件:https://github.com/PHPMailer/PHPMailer

    2、编写随机数(验证码)函数:

    3、编写调用核心组件程序:

    CharSet ="UTF-8"; //设定邮件编码

    $mail->SMTPDebug = 0; // 调试模式输出

    $mail->isSMTP(); // 使用SMTP

    $mail->Host = ‘smtp.qq.com‘; // SMTP服务器

    $mail->SMTPAuth = true; // 允许 SMTP 认证

    $mail->Username = ‘**********‘; // SMTP 用户名 即邮箱的用户名

    $mail->Password = ‘****************‘; // SMTP 密码 部分邮箱是授权码(例如163邮箱)

    $mail->SMTPSecure = ‘ssl‘; // 允许 TLS 或者ssl协议

    $mail->Port = 465; // 服务器端口 25 或者465 具体要看邮箱服务器支持

    $mail->setFrom(‘*********qq.com‘, ‘Mailer‘); //发件人(以QQ邮箱为例)

    $mail->addAddress($Email, ‘Joe‘); // 收件人($Email可以为变量传值,也可为固定值)

    //$mail->addAddress(‘ellen@example.com‘); // 可添加多个收件人

    $mail->addReplyTo(‘*********@qq.com‘, ‘info‘); //回复的时候回复给哪个邮箱 建议和发件人一致

    //$mail->addCC(‘cc@example.com‘); //抄送

    //$mail->addBCC(‘bcc@example.com‘); //密送

    //发送附件

    // $mail->addAttachment(‘../xy.zip‘); // 添加附件

    // $mail->addAttachment(‘../thumb-1.jpg‘, ‘new.jpg‘); // 发送附件并且重命名

    $yanzhen = codestr(); //此处为调用随机验证码函数(按照自己实际函数名改写)

    //Content

    $mail->isHTML(true); // 是否以HTML文档格式发送 发送后客户端可直接显示对应HTML内容

    $mail->Subject = ‘******身份登录验证‘;

    $mail->Body = ‘

    欢迎使用******

    您的身份验证码是:‘.$yanzhen.‘‘ . date(‘Y-m-d H:i:s‘);

    $mail->AltBody = ‘欢迎使用********,您的身份验证码是:‘.$yanzhen . date(‘Y-m-d H:i:s‘);

    $mail->send();

    echo ‘验证邮件发送成功,请注意查收!‘;

    } catch (Exception $e) {

    echo ‘邮件发送失败: ‘, $mail->ErrorInfo;

    }

    }

    ?>

    完成以上三个步骤即可实现向用户发送邮箱验证码的功能。

    但是,事情并没有结束,向用户发送验证码成功后,对用户提交的验证码如何判断输入的验证码是否正确呢?如果正确,达到身份确认效果,否则反之。请看下面实例:

    写实例之前,为了让大家更加明确程序中的文件名以及变量的作用,我们先规定:

    1、将调用核心组件程序 命名为 email.php

    2、规定验证码存放的变量名为 $yanzhen

    3、将 用户输入的验证码 的post表单值命名为 YanEmail

    4、规定使用POST提交表单

    5、规定接收POST值的页面 命名为 yanzhen.php

    规定了以上规则后,下面开始实例演示:

    首先是用户输入页面:

    登录

    邮箱验证页面

    //此处的$Email为接收用户的邮箱(这儿看自己需求,可以是数据库查询,也可以是手动输入,只需要最后赋值给$Email即可)

    //此处为导入email.php文件,自动向用户发送验证邮箱

    //此处为用户输入的验证码

    //此处为系统向用户发送的验证码(注意:这样写对系统不安全,按照自己需求更改吧),

    POST表单接收页面(yanzhen.php):

    到这就完成了PHP实现邮箱验证码功能的实现。其实没啥技术含量,就是可能逻辑上需要理清自己想要什么功能。

    文章中如有错误,请留言指出,个人技术能力有限,希望可以帮到你。

    转载请注明来源!谢谢!!!

    PHP实现邮箱验证码验证功能

    标签:邮箱验证   登录   格式   tar   程序   body   用户名   实现   include

    更多相关内容
  • 主要介绍了PHP如何使用POP3读取邮箱接收邮件,文中示例代码非常详细,帮助大家更好的理解和学习,感兴趣的朋友可以了解下
  • PHP版的邮件在线发送,适合于网页填写的表单向指定邮箱中发送,内附DEMO表单,在emailconfig.php中修改你自己的SMTP帐号信息,index.php中填写一个邮箱地址,点发送,看下是否会收到邮件。邮件内容和格式调整在...
  • 直接上代码

    8fe1f4d85a5382b61b4f6568172963df.png

    直接上代码:<?php

    $array_values['host'] = "host";

    $array_values['port'] = 110;

    $array_values['user'] = '用户名';

    $array_values['password'] = '密码';

    $array_values['checkmail'] = 'xxx@xxx.xxx';

    ganji_get_test_mail($array_values);

    function ganji_get_test_mail($array_values)

    {

    $host = $array_values['host'];

    $port = $array_values['port'];

    $user = $array_values['user'];

    $password = $array_values['password'];

    $checkmail = $array_values['checkmail'];

    $msg = '';

    $return_msg = '';

    // ini_set('memory_limit', '80M');

    if (! ($sock = fsockopen(gethostbyname($host), $port, $errno, $errstr))) {

    exit($errno . ': ' . $errstr);

    }

    set_socket_blocking($sock, true);

    $command = "USER " . $user . "\r\n";

    fwrite($sock, $command);

    $msg = fgets($sock);

    $command = "PASS " . $password . "\r\n";

    fwrite($sock, $command);

    $msg = fgets($sock);

    $command = "stat\r\n";

    fwrite($sock, $command);

    $return_msg = fgets($sock);

    $msg = fgets($sock);

    $command = "LIST\r\n";

    fwrite($sock, $command);

    $all_mails = array();

    while (true) {

    $msg = fgets($sock);

    if (! preg_match('/^\+OK/', $msg) && ! preg_match('/^\./', $msg)) {

    $msg = preg_replace('/\ .*\r\n/', '', $msg);

    array_push($all_mails, $msg);

    }

    if (preg_match('/^\./', $msg))

    break;

    }

    // 获取邮件列表

    $ganji_mails = array();

    foreach ($all_mails as $item) {

    fwrite($sock, "TOP $item 0\r\n");

    while (true) {

    $msg = fgets($sock);

    // echo $msg . "
    ";

    if (preg_match('/^\./', $msg)) {

    array_push($ganji_mails, $item);

    break;

    }

    }

    continue;

    }

    $mail_content = '';

    $array_ganji_mails = array();

    //逐行遍历

    foreach ($ganji_mails as $item) {

    fwrite($sock, "RETR $item\r\n");

    while (true) {

    $msg = fgets($sock);

    $mail_content .= $msg;

    if (preg_match('/^\./', $msg)) {

    array_push($array_ganji_mails, iconv_mime_decode_headers($mail_content, 0, "UTF-8"));

    $mail_content = '';

    break;

    }

    }

    }

    // 直接获取第一封邮件全部信息 9999长度

    fwrite($sock, "RETR 1\r\n");

    $mail_contents = fread($sock, 9999); // 直接获取全部

    echo "
    ";

    var_dump($mail_contents);

    echo "
    ";

    $command = "QUIT\r\n";

    fwrite($sock, $command);

    $msg = fgets($sock);

    return $mail_contents;

    }

    常用的POP3命令介绍 :命令参数状态描述

    USERusername认可此命令与下面的pass命令若成功,将导致状态转换

    PASSpassword认可

    APOPName,Digest认可Digest是MD5消息摘要

    STATNone处理请求服务器发回关于邮箱的统计资料,如邮件总数和总字节数

    UIDL[Msg#]处理返回邮件的唯一标识符,POP3会话的每个标识符都将是唯一的

    LIST[Msg#]处理返回邮件数量和每个邮件的大小

    RETR[Msg#]处理返回由参数标识的邮件的全部文本

    DELE[Msg#]处理服务器将由参数标识的邮件标记为删除,由quit命令执行

    RSETNone处理服务器将重置所有标记为删除的邮件,用于撤消DELE命令

    TOP[Msg#]处理服务器将返回由参数标识的邮件前n行内容,n必须是正整数

    NOOPNone处理服务器返回一个肯定的响应,不做任何操作。

    QUITNone更新退出

    展开全文
  • $server = "{bjmail.*.com/pop3}"; //邮件服务器$mailbox = "inbox"; //收件箱$mailaccount="zhao**";//用户名$mailpasswd=" "; //密码$stream = @imap_open($server.$mailbox,$mail...//打开IMAP 连结$mail_number...

    $server = "{bjmail.*.com/pop3}"; //邮件服务器

    $mailbox = "inbox"; //收件箱

    $mailaccount="zhao**";//用户名

    $mailpasswd=" "; //密码

    $stream = @imap_open($server.$mailbox,$mailaccount,$mailpasswd);//打开IMAP 连结

    $mail_number = imap_num_msg($stream);//信件的个数

    if($mail_number < 1) { echo "No Message for $email"; }//如果信件数为0,显示信息

    for($i=$mail_number;$i>=$mail_number;$i--)

    {

    $headers = @imap_header($stream, $i);

    $mail_header= imap_headerinfo($stream, $i);//邮件头部

    //var_dump ($mail_header);

    $subject = $mail_header->subject;//邮件标题

    $subject=decode_mime($subject);

    echo $subject;

    //编码为简体中文的标题的处理方法

    // if(stristr($subject, "=?gb2312"))

    // { //编码为简体中文的标题

    // $subject=substr($subject,11);

    // $subject=substr($subject,0,-2);

    // $subject = base64_decode($subject);

    // }

    echo $from = $mail_header->fromaddress;//发件人

    echo $date = $mail_header->date;//日期

    $body = imap_fetchbody($stream, $i, 1);

    $body = imap_base64($body);

    $body = nl2br($body);

    echo $body;

    // $body = imap_qprint($body);

    // echo $body;

    // $body = imap_binary($body);

    // $body = imap_base64($body);

    //echo $body;

    }

    function decode_mime($string)

    {

    $pos = strpos($string,'=?');

    if (!is_int($pos)) {

    return $string;

    }

    $preceding = substr($string, 0, $pos); // save any preceding text

    $search = substr($string, $pos+2); /* the mime header spec says this is the longest a single encoded Word can be */

    $d1 = strpos($search, '?');

    if (!is_int($d1)) {

    return $string;

    }

    $charset = substr($string, $pos+2, $d1); //取出字符集的定义部分

    $search = substr($search, $d1+1); //字符集定义以后的部分=>$search;

    $d2 = strpos($search, '?');

    if (!is_int($d2)) {

    return $string;

    }

    $encoding = substr($search, 0, $d2); 两个? 之间的部分编码方式 :q 或 b

    $search = substr($search, $d2+1);

    $end = strpos($search, '?='); //$d2+1 与 $end 之间是编码了 的内容:=> $endcoded_text;

    if (!is_int($end)) {

    return $string;

    }

    $encoded_text = substr($search, 0, $end);

    $rest = substr($string, (strlen($preceding . $charset . $encoding . $encoded_text)+6)); //+6 是前面去掉的 =????= 六个字符

    switch ($encoding) {

    case 'Q':

    case 'q':

    //$encoded_text = str_replace('_', '%20', $encoded_text);

    //$encoded_text = str_replace('=', '%', $encoded_text);

    //$decoded = urldecode($encoded_text);

    $decoded=quoted_printable_decode($encoded_text);

    if (strtolower($charset) == 'windows-1251') {

    $decoded = convert_cyr_string($decoded, 'w', 'k');

    }

    break;

    case 'B':

    case 'b':

    $decoded = base64_decode($encoded_text);

    if (strtolower($charset) == 'windows-1251') {

    $decoded = convert_cyr_string($decoded, 'w', 'k');

    }

    break;

    default:

    $decoded = '=?' . $charset . '?' . $encoding . '?' . $encoded_text . '?=';

    break;

    }

    return $preceding . $decoded .decode_mime($rest);

    //return $preceding . $decoded . $this->decode_mime($rest);

    }

    展开全文
  • 复制代码 代码如下: <?php  header(“Content-Type: text/html; charset=UTF-8”);  error_reporting(0);  /**  * 登陆  * $user 163用户名  * $pass 密码  **/  function login($user,$pass){  //登陆 ...
  • php接收邮件种

    2021-04-03 08:16:22
    php接收邮件类receivemail是一个专门用来接收邮件的PHP类,支持POP3和IMAP等邮件协议。可以接收邮件及邮件附件。中文乱码解决/*** decode the subject of chinese** @param string $subject* @return sting*/public ...

    php接收邮件类

    receivemail是一个专门用来接收邮件的PHP类,支持POP3和IMAP等邮件协议。可以接收邮件及邮件附件。

    中文乱码解决

    /**

    * decode the subject of chinese

    *

    * @param string $subject

    * @return sting

    */

    public function subjectDecode($subject) {

    $beginStr = substr($subject, 0, 5);

    if($beginStr == '=?ISO') {

    $separator = '=?ISO-2022-JP';

    $toEncoding = 'ISO-2022-JP';

    } else {

    $separator = '=?GB2312';

    $toEncoding = 'GB2312';

    }

    $encode = strstr($subject, $separator);

    if ($encode) {

    $explodeArr = explode($separator, $subject);

    $length = count($explodeArr);

    $subjectArr = array();

    for($i = 0; $i < $length / 2; $i++) {

    $subjectArr[$i][] = $explodeArr[$i * 2];

    if (@$explodeArr[$i * 2 + 1]) {

    $subjectArr[$i][] = $explodeArr[$i * 2 + 1];

    }

    }

    foreach ($subjectArr as $arr) {

    $subSubject = implode($separator, $arr);

    if (count($arr) == 1) {

    $subSubject = $separator . $subSubject;

    }

    $begin = strpos($subSubject, "=?");

    $end = strpos($subSubject, "?=");

    $beginStr = '';

    $endStr = '';

    if ($end > 0) {

    if ($begin > 0) {

    $beginStr = substr($subSubject, 0, $begin);

    }

    if ((strlen($subSubject) - $end) > 2) {

    $endStr = substr($subSubject, $end + 2, strlen($subSubject) - $end - 2);

    }

    $str = substr($subSubject, 0, $end - strlen($subSubject));

    $pos = strrpos($str, "?");

    $str = substr($str, $pos + 1, strlen($str) - $pos);

    $subSubject = $beginStr . imap_base64($str) . $endStr;

    $subSubjectArr[] = iconv ( $toEncoding, 'utf-8', $subSubject );

    // mb_convert_encoding($subSubject, 'utf-8' ,'gb2312,ISO-2022-JP');

    }

    }

    $subject = implode('', $subSubjectArr);

    }

    return $subject;

    }

    if(strtolower($sender->mailbox)!='mailer-daemon' && strtolower($sender->mailbox)!='postmaster')

    { $subject = $this->subjectDecode($mail_header->subject);

    使用方法如下:

    connect(); //If connection fails give error message and exit

    // 读取全部信件

    $tot = $obj->getTotalMails(); //Total Mails in Inbox Return integer value

    echo "收到$tot封邮件::

    ";

    for($i = $tot; $i > 0; $i--)

    {

    $head = $obj->getHeaders($i); // 读取获取邮件头信息,返回数组 **数组键值为 (subject,to,toOth,toNameOth,from,fromName)

    echo "主题 :: ".$head['subject']."

    ";

    echo "收件人 :: ".$head['to']."

    ";

    echo "抄送 :: ".$head['toOth']."

    ";

    echo "发件人 :: ".$head['from']."

    ";

    echo "发件人名称 :: ".$head['fromName']."

    ";

    echo "

    ";

    echo "

    *******************************************************************************************

    ";

    echo $obj->getBody($i); // 邮件正文

    $str = $obj->GetAttach($i,"./"); // 获取邮件附件,返回的文件名以逗号隔开。 例如. (mailid, Path to store file)

    $ar = explode(",",$str);

    foreach($ar as $key=>$value)

    echo ($value == "") ? "" : "Atteched File :: " . $value . "

    ";

    echo "

    ------------------------------------------------------

    ";

    //$obj->deleteMails($i); // Delete Mail from Mail box

    }

    $obj->close_mailbox(); //Close Mail Box

    ?>

    ?receivemail.class.php需要imap模块支持。

    imap_append : ?? ?附加字符串到指定的邮箱中。

    imap_base64 : ?? ?解 base64 编码。

    imap_body : ?? ?读信的内文。

    imap_check : ?? ?返回邮箱信息。

    imap_close : ?? ?关闭 imap 链接。

    imap_createmailbox : ?? ?建立新的信箱。

    imap_delete : ?? ?标记欲删除邮件。

    imap_deletemailbox : ?? ?删除既有信箱。

    imap_expunge : ?? ?删除已标记的邮件。

    imap_fetchbody : ?? ?从信件内文取出指定部分。

    imap_fetchstructure : ?? ?获取某信件的结构信息。

    imap_header : ?? ?获取某信件的标头信息。

    imap_headers : ?? ?获取全部信件的标头信息。

    imap_listmailbox : ?? ?获取邮箱列示。

    imap_listsubscribed : ?? ?获取订阅邮箱列示。

    imap_mail_copy : ?? ?复制指定信件到它处邮箱。

    imap_mail_move : ?? ?移动指定信件到它处邮箱。

    imap_num_msg : ?? ?取得信件数。

    imap_num_recent : ?? ?取得新进信件数。

    imap_open : ?? ?打开 imap 链接。

    imap_ping : ?? ?检查 imap 是否连接。

    imap_renamemailbox : ?? ?更改邮箱名字。

    imap_reopen : ?? ?重开 imap 链接。

    imap_subscribe : ?? ?订阅邮箱。

    imap_undelete : ?? ?取消删除邮件标记。

    imap_unsubscribe : ?? ?取消订阅邮箱。

    imap_qprint : ?? ?将 qp 编码转成八位。

    imap_8bit : ?? ?将八位转成 qp 编码。

    imap_binary : ?? ?将八位转成 base64 编码。

    imap_scanmailbox : ?? ?寻找信件有无特定字符串。

    imap_mailboxmsginfo : ?? ?取得目前邮箱的信息。

    imap_rfc822_write_address : ?? ?电子邮件位址标准化。

    imap_rfc822_parse_adrlist : ?? ?解析电子邮件位址。

    imap_setflag_full : ?? ?配置信件标志。

    imap_clearflag_full : ?? ?清除信件标志。

    imap_sort : ?? ?将信件标头排序。

    imap_fetchheader : ?? ?取得原始标头。

    imap_uid : ?? ?取得信件 uid。

    imap_getmailboxes : ?? ?取得全部信件详细信息。

    imap_getsubscribed : ?? ?列出所有订阅邮箱。

    imap_msgno : ?? ?列出 uid 的连续信件。

    imap_search : ?? ?搜寻指定标准的信件。

    imap_last_error : ?? ?最后的错误信息。

    imap_errors : ?? ?所有的错误信息。

    imap_alerts : ?? ?所有的警告信息。

    imap_status : ?? ?目前的状态信息。

    1 楼

    hdnlove

    2012-04-10

    网友评论

    文明上网理性发言,请遵守 新闻评论服务协议我要评论

    47d507a036d4dd65488c445c0974b649.png

    立即提交

    专题推荐064df72cb40df78e80e61b7041ee044f.png独孤九贱-php全栈开发教程

    全栈 100W+

    主讲:Peter-Zhu 轻松幽默、简短易学,非常适合PHP学习入门

    7dafe36c040e31d783922649aefe0be1.png玉女心经-web前端开发教程

    入门 50W+

    主讲:灭绝师太 由浅入深、明快简洁,非常适合前端学习入门

    04246fdfe8958426b043c89ded0857f1.png天龙八部-实战开发教程

    实战 80W+

    主讲:西门大官人 思路清晰、严谨规范,适合有一定web编程基础学习

    展开全文
  • PHP接收邮件类receivemail.class.php

    热门讨论 2013-09-22 16:40:54
    receivemail是一个专门用来接收邮件的PHP类,支持POP3和IMAP等邮件协议。 可以接收邮件及邮件附件。 include("receivemail.class.php"); 02 // 创建一个 reciveMail 对象 03 $obj = new receiveMail('abc@abc.com'...
  • php实现邮箱验证

    2021-03-24 11:07:57
    php实现邮箱验证2020-09-30 19:49:37php实现邮箱验证的方法:首先下载phpMailer;然后解压到项目根目录下;接着需要一台邮件服务器;最后在“config.php”中配置邮箱相关的信息并创建用于发送邮件的公用方法即可。...
  • PHP-收取邮件

    2016-03-18 16:26:10
    mail里包含了Pop3类,通过这个类去实现收取邮件,自己又写了一个pop3mail这个类,去做具体的操作
  • 直接将留言信息发送到邮箱,方便使用。 下载后配置libs/cfg_mail.php文件,内有注释。 下载后配置libs/cfg_mail.php文件即可,基于PHPMailer 本程序仅为不懂程序的新手提供帮助。老手请路过。 发布之后,有同学反映...
  • PHP邮箱注册验证码功能实现前言php使用PHPMailer类进行邮件发送 前言 本文实现的功能是在网站注册账号时,发送邮箱验证码,并验证邮箱验证码是否正确。下面会对php的邮件发送,验证码制作作详细解说。 php使用...
  • PhpMail-SMTP-POP3-IMAP 邮件接收发送 Mail receiving and sending最近遇到一个工程需要自动发件(SMTP)收件(IMAP/POP3)功能,发现很难找到一个PHP的完整包来使用所以自己综合phpMailer,PhpImap,csdn博客等各开源...
  • 已实现对于Gmail,qq,qq企业邮箱,阿里企业邮箱,outlook,hotmail的指定文件夹来拉取邮件内容,内容截图,附件等功能 ! 什么是IMAP,POP3,IMAP协议 php获取收件箱,发件箱,垃圾箱,各种自定义分类 php 解析...
  • 本篇文章主要介绍PHP制作用户注册系统的详细代码,感兴趣的朋友参考下,希望对大家有所帮助。用户注册系统写一个index.php页面,有用户名和密码表单,post提交到check.php,输出用户名和"用户名+密码"的md5值本地...
  • QQ邮箱需要开启stmp,phpstudy需要开启ssl权限 <?php require_once("./PHPMailer/src/class.phpmailer.php"); //PHPMailer路径得正确 require_once("./PHPMailer/src/class.smtp.php"); //use ...
  • 写一个接收邮件的代码,提示无法连接,qq邮箱已开启imap,下面贴上代码,麻烦各位帮忙看看?$host = '{imap.qq.com:993/imap/ssl}INBOX';$user = '*****';$pass = '*****';$inbox = imap_open($host, $user, $pass)...
  • 轻松将简单的asp代码转换为php代码

    千次阅读 2021-04-29 09:29:17
    随着php发展的迅速,asp使用者的减少也成了必然,而很多人也不愿意使用asp.net,于是,windows系统服务器也越来越少,linux服务器越来越多,有的时候,不得不将原来的asp程序改为php程序。对 于简单的、单页面的asp...
  • 注意:使用个人qq邮箱发送邮箱会被腾讯拦截发送失败 第一:163邮箱配置 1、登录163邮箱:https://email.163.com/ 2、在邮箱的设置中开启SMTP服务(设置->POP3/SMTP/IMAP->开启服务),同时生成授权密码(发送...
  • 邮件发送过程中,错误可能有很多,文件未包裹的空白...这是我之前测试通过的代码:function sendMail($address,$title,$content){require("./PHPMailer/class.phpmailer.php");$mail = new PHPMailer();$mail->I...
  • http://127.0.0.1/index.php?admin&q=module/user/list&site_id=50&a=userinfo&realname=%D2%FC%BD%A8%C0%A4LINUX 服务器下,$data['realname']=$_GET['realname'];,该方法获得不了realname参数,...
  • 求专家解答:php如何接收远程post过来的txt文本内容并同时写入mysql数据库呢?求完整代码!合适可加分!txt文本内容字段格式:学生id、学生名字、学生邮箱、学生地址回复讨论(解决方案)数据表:CREATE TABLE `...
  • PHPMailer 发送163网易企业邮箱和个人邮箱 主要是端口问题
  • 邮箱验证 教程: http://blog.csdn.net/baidu_30000217/article/details/51550259 教程中说的已经很清楚了,我是在tp5框架中使用的,在这补充几点: 如果你有composer,直接使用命令 composer ...
  • 文章首发地址:https://www.ciyintang.vip/build/index.php/archives/101/ 最近个人开发项目需要做一个找回密码功能,但鉴于成本,不考虑手机验证码,这里记录一下通过邮箱获取验证码来验证的开发过程 首先要实现...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 10,524
精华内容 4,209
关键字:

php邮箱接收代码