思路:
前臺(tái)用jquery.validate驗(yàn)證,驗(yàn)證郵箱是否存在等等,交互用ajax來(lái)做。后端用郵箱類(lèi)庫(kù)直接上代碼吧
準(zhǔn)備:1.下載PHPMailer類(lèi)庫(kù),放到Application/Thinkphp/Library/Vendor/中,在網(wǎng)上搜搜,搜不到可以聯(lián)系我
2.開(kāi)啟SMTP,舉個(gè)網(wǎng)易郵箱的例子
// 配置郵件發(fā)送服務(wù)器 "MAIL_HOST" =>"smtp.163.com",//smtp服務(wù)器的名稱 "MAIL_SMTPAUTH" =>TRUE, //啟用smtp認(rèn)證 "MAIL_USERNAME" =>"[email protected]",//你的郵箱名 "MAIL_FROM" =>"[email protected]",//發(fā)件人地址 "MAIL_FROMNAME"=>"南京商丘商會(huì)",//發(fā)件人姓名 "MAIL_PASSWORD" =>"a3392894",//郵箱密碼 "MAIL_CHARSET" =>"utf-8",//設(shè)置郵件編碼 "MAIL_ISHTML" =>TRUE, // 是否HTML格式郵件function.php填寫(xiě)
IsSMTP(); // 啟用SMTP $mail->Host=C("MAIL_HOST"); //smtp服務(wù)器的名稱(這里以QQ郵箱為例) $mail->SMTPAuth = C("MAIL_SMTPAUTH"); //啟用smtp認(rèn)證 $mail->Username = C("MAIL_USERNAME"); //你的郵箱名 $mail->Password = C("MAIL_PASSWORD") ; //郵箱密碼 $mail->From = C("MAIL_FROM"); //發(fā)件人地址(也就是你的郵箱地址) $mail->FromName = C("MAIL_FROMNAME"); //發(fā)件人姓名 $mail->AddAddress($to,"尊敬的客戶"); $mail->WordWrap = 50; //設(shè)置每行字符長(zhǎng)度 $mail->IsHTML(C("MAIL_ISHTML")); // 是否HTML格式郵件 $mail->CharSet=C("MAIL_CHARSET"); //設(shè)置郵件編碼 $mail->Subject =$title; //郵件主題 $mail->Body = $content; //郵件內(nèi)容 $mail->AltBody = "這是一個(gè)純文本的身體在非營(yíng)利的HTML電子郵件客戶端"; //郵件正文不支持HTML的備用顯示 //return($mail->Send()); if (!$mail->send()) { echo "Mailer Error: " . $mail->ErrorInfo; } else { echo "Message sent!"; } }后端:
public function createSMSCode($length = 6){ $min = pow(10 , ($length - 1)); $max = pow(10, $length) - 1; return rand($min, $max); } //ajax發(fā)送郵件 public function e_mail_send(){ $e_mail=I("post.e_mail"); $result=M("user")->where(array("e_mail"=>$e_mail))->find(); if($result){ $code=$this->createSMSCode(); //存儲(chǔ)驗(yàn)證碼,相當(dāng)于全局變量,因?yàn)樵俅握{(diào)用createSMSCode時(shí),代碼會(huì)變 session("code",$code); session("e_mail",$e_mail); SendMail($e_mail,"南京商丘商會(huì)驗(yàn)證碼","您的驗(yàn)證碼是".$code.",請(qǐng)正確填寫(xiě)"); $data="yes"; }else{ $data="no"; } $this->ajaxReturn($data); }前端:
ajax部分:密碼找回!
請(qǐng)?zhí)钊肽泥]箱進(jìn)行密碼找回
發(fā)送后請(qǐng)注意查收郵箱信息填入驗(yàn)證碼中
展示: 歡迎交流 QQ:755092893
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/23252.html
摘要:前言注冊(cè)時(shí)經(jīng)常需要用到短信驗(yàn)證碼,本文記錄一下思路和具體實(shí)現(xiàn)。短信驗(yàn)證平臺(tái)使用云片,短信驗(yàn)證碼的生成使用。云片發(fā)送短信驗(yàn)證碼到指定手機(jī)號(hào)。用戶輸入短信驗(yàn)證碼。 前言 注冊(cè)時(shí)經(jīng)常需要用到短信驗(yàn)證碼,本文記錄一下思路和具體實(shí)現(xiàn)。短信驗(yàn)證平臺(tái)使用云片,短信驗(yàn)證碼的生成使用thinkphp。 思路 1、用戶輸入手機(jī)號(hào),請(qǐng)求獲取短信驗(yàn)證碼。2、thinkphp生成短信驗(yàn)證碼,存儲(chǔ),同時(shí)和其他參數(shù)...
摘要:之前使用的阿里大于,不過(guò)很坑的是,新接入的都不能用了,融入進(jìn)了阿里云服務(wù),當(dāng)然阿里大于的老用戶還可以繼續(xù)用阿里大于首先還是接入,上圖找到短信服務(wù)設(shè)置短信簽名和短信模板設(shè)置或找到或下載文檔打開(kāi)下載下來(lái)的文檔,只需要,將其改名為,并放到項(xiàng)目根目 之前使用的阿里大于,不過(guò)很坑的是,新接入的都不能用了,融入進(jìn)了阿里云服務(wù),當(dāng)然阿里大于的老用戶還可以繼續(xù)用阿里大于 首先還是接入,上圖: (1)找...
摘要:相關(guān)信息,面向過(guò)程,面向?qū)ο螅p量級(jí)。輕量級(jí)功能實(shí)用,面向過(guò)程和面向?qū)ο蠡旌祥_(kāi)發(fā)。找到文件為文件名為驗(yàn)證碼類(lèi)沒(méi)有在自動(dòng)加載類(lèi)中載入,需要手動(dòng)載入。底層的和會(huì)影響原始的框架中的引入,可以使用框架中提供的引入。 不使用框架的問(wèn)題 在實(shí)際工作中,如果不使用框架會(huì)遇到的問(wèn)題。 程序項(xiàng)目生命時(shí)間非常短(維護(hù)性,生命力弱) 分共協(xié)作開(kāi)發(fā)項(xiàng)目,彼此代碼風(fēng)格不一致。 開(kāi)發(fā)程序,喜歡挖坑。 開(kāi)發(fā)者離職...
摘要:忘記密碼的時(shí)候需要用到提交,怕短信被盜刷,用的自帶的做了個(gè)簡(jiǎn)單的驗(yàn)證結(jié)合驗(yàn)證碼。然后就想到,在中跟其他字段一起提交就行了。成功處理失敗處理這樣提交的格式就完全跟表單提交一樣了后臺(tái)就可以按照手冊(cè)上的驗(yàn)證來(lái)驗(yàn)證了。 忘記密碼的時(shí)候需要用到ajax提交,怕短信被盜刷,用的thinkphp自帶的token做了個(gè)簡(jiǎn)單的驗(yàn)證(結(jié)合驗(yàn)證碼)。看到表單里的token其實(shí)是跟表單數(shù)據(jù)一起驗(yàn)證的,其實(shí)就相...
摘要:忘記密碼的時(shí)候需要用到提交,怕短信被盜刷,用的自帶的做了個(gè)簡(jiǎn)單的驗(yàn)證結(jié)合驗(yàn)證碼。然后就想到,在中跟其他字段一起提交就行了。成功處理失敗處理這樣提交的格式就完全跟表單提交一樣了后臺(tái)就可以按照手冊(cè)上的驗(yàn)證來(lái)驗(yàn)證了。 忘記密碼的時(shí)候需要用到ajax提交,怕短信被盜刷,用的thinkphp自帶的token做了個(gè)簡(jiǎn)單的驗(yàn)證(結(jié)合驗(yàn)證碼)??吹奖韱卫锏膖oken其實(shí)是跟表單數(shù)據(jù)一起驗(yàn)證的,其實(shí)就相...
閱讀 2183·2021-11-25 09:43
閱讀 2266·2021-11-24 09:39
閱讀 1572·2021-11-22 12:02
閱讀 2998·2021-11-17 09:33
閱讀 3422·2021-11-15 11:38
閱讀 2759·2021-10-13 09:40
閱讀 1082·2021-09-22 15:41
閱讀 1695·2019-08-30 10:58