phpmailer 邮件模拟注册验正

2024-06-23 22:32

本文主要是介绍phpmailer 邮件模拟注册验正,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

下载phpmailer类 我本次的实验用的是版本 5.2.9

下载后解压提取文件class.smtp.php

class.phpmailer.php

PHPMailerAutoload.php

放在phpmailer目录里

1.链接数据库

conn.php 

 $conn=mysql_connect("localhost","root","");
   if(!$conn){
  die('链接失败'.mysql_error());
   }
   
   mysql_select_db("test",$conn) or die("数据库选择失败".mysql_error());


2创建数据库表

create table user(
uid int primary key auto_increment,
uname char(20) not null default '',
email char(30) not null default '',
pass char(32) not null default '',
status tinyint not null default 0
)engine myisam charset utf8;


create table activecode(
cid int primary key auto_increment,
uname char(20) not null default '',
code char(16) not null default '',
expire int not null default 0
)engine myisam charset utf8;


3.模拟注册和发送邮件代码如下

<?php 
   /**
     1.链接数据库
2.insert用户表
3.随机产生激活码并insert activecode 表
4把产生的激活码发送邮件
 
   */
require('conn.php');
require('../phpmailer/PHPMailerAutoload.php');
$uname="username";
$email="99999999999999@qq.com";


//2注册
$sql="insert into user(uname,email) values('$uname','$email')";
mysql_query($sql);


//3生成随机激活码
$str="abcdefghijklmnopkrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ123456";
$code=substr(str_shuffle(substr($str,0,58)),0,8);
$expire=time()+2*24*3600;
$sql="insert into activecode(uname,code,expire)values('$uname','$code',$expire)";
$result=mysql_query($sql);


if(!$result){

die ("注册不成功");
}


//4发送邮件进行验证
function sendEmail($to,$title,$contents,$type = '',$accessory =''){
    $mail = new PhpMailer(true);
    $mail->IsSMTP();
    $mail->CharSet ="UTF-8";//编码
    $mail->Debugoutput = 'html';// 支持HTML格式
    $mail->Host = 'smtp.163.com';//HOST 地址
    $mail->Port = 25;//端口
    $mail->SMTPAuth = true;
    $mail->Username = 'php100@163.com';//163邮箱用户名
    $mail->Password = '163邮箱密码你的密码';//密码
    $mail->SetFrom('php100@163.com','fuck');//发件人地址, 发件人名称
    $mail->AddAddress($to);//收信人地址
    //$mail->Subject = "=?utf-8?B?" . base64_encode() . "?=";
    if (!empty($type)) {
     $mail->AddAttachment($type,$accessory); // 添加附件,并指定名称 
    }
    $mail->Subject = $title;//邮件标题
    $mail->MsgHTML($contents);
    if (!$mail->send()) {
    echo "Mailer Error: " . $mail->ErrorInfo;
    }else {
    echo "Message sent!";
}
    }
  sendEmail($email,$uname.'验证邮件','请您点击:http://localhost/test2/loginmail/2.php?code='.$code.' 进行激活','','');


?>

4.验证激活码 完成注册 2.php代码如下

require "conn.php";
   $code=$_GET['code'];
   if(strlen($code)!=8){
  
  die("激活码长度不够");
  
   }
   $sql="select * from activecode where code='$code'";
   $rs=mysql_query($sql);
   $row=mysql_fetch_assoc($rs);
   if(empty($row)){
  echo "激活码有误";
  
   }
   var_dump($row);
   
   //激活用户
    $sql="update user set status=1 where uname='$row[uname]'";
    $rs2=mysql_query($sql);
if($rs2){
echo "激活成功";

}


以上是我这个菜鸟的总结 

这篇关于phpmailer 邮件模拟注册验正的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1088460

相关文章

浏览器插件cursor实现自动注册、续杯的详细过程

《浏览器插件cursor实现自动注册、续杯的详细过程》Cursor简易注册助手脚本通过自动化邮箱填写和验证码获取流程,大大简化了Cursor的注册过程,它不仅提高了注册效率,还通过友好的用户界面和详细... 目录前言功能概述使用方法安装脚本使用流程邮箱输入页面验证码页面实战演示技术实现核心功能实现1. 随机

Python使用smtplib库开发一个邮件自动发送工具

《Python使用smtplib库开发一个邮件自动发送工具》在现代软件开发中,自动化邮件发送是一个非常实用的功能,无论是系统通知、营销邮件、还是日常工作报告,Python的smtplib库都能帮助我们... 目录代码实现与知识点解析1. 导入必要的库2. 配置邮件服务器参数3. 创建邮件发送类4. 实现邮件

Nacos注册中心和配置中心的底层原理全面解读

《Nacos注册中心和配置中心的底层原理全面解读》:本文主要介绍Nacos注册中心和配置中心的底层原理的全面解读,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录临时实例和永久实例为什么 Nacos 要将服务实例分为临时实例和永久实例?1.x 版本和2.x版本的区别

Python使用pynput模拟实现键盘自动输入工具

《Python使用pynput模拟实现键盘自动输入工具》在日常办公和软件开发中,我们经常需要处理大量重复的文本输入工作,所以本文就来和大家介绍一款使用Python的PyQt5库结合pynput键盘控制... 目录概述:当自动化遇上可视化功能全景图核心功能矩阵技术栈深度效果展示使用教程四步操作指南核心代码解析

Python模拟串口通信的示例详解

《Python模拟串口通信的示例详解》pySerial是Python中用于操作串口的第三方模块,它支持Windows、Linux、OSX、BSD等多个平台,下面我们就来看看Python如何使用pySe... 目录1.win 下载虚www.chinasem.cn拟串口2、确定串口号3、配置串口4、串口通信示例5

macOS Sequoia 15.5 发布: 改进邮件和屏幕使用时间功能

《macOSSequoia15.5发布:改进邮件和屏幕使用时间功能》经过常规Beta测试后,新的macOSSequoia15.5现已公开发布,但重要的新功能将被保留到WWDC和... MACOS Sequoia 15.5 正式发布!本次更新为 Mac 用户带来了一系列功能强化、错误修复和安全性提升,进一步增

使用Python和SQLAlchemy实现高效的邮件发送系统

《使用Python和SQLAlchemy实现高效的邮件发送系统》在现代Web应用中,邮件通知是不可或缺的功能之一,无论是订单确认、文件处理结果通知,还是系统告警,邮件都是最常用的通信方式之一,本文将详... 目录引言1. 需求分析2. 数据库设计2.1 User 表(存储用户信息)2.2 CustomerO

Spring Cloud之注册中心Nacos的使用详解

《SpringCloud之注册中心Nacos的使用详解》本文介绍SpringCloudAlibaba中的Nacos组件,对比了Nacos与Eureka的区别,展示了如何在项目中引入SpringClo... 目录Naacos服务注册/服务发现引⼊Spring Cloud Alibaba依赖引入Naco编程s依

Java使用Mail构建邮件功能的完整指南

《Java使用Mail构建邮件功能的完整指南》JavaMailAPI是一个功能强大的工具,它可以帮助开发者轻松实现邮件的发送与接收功能,本文将介绍如何使用JavaMail发送和接收邮件,希望对大家有所... 目录1、简述2、主要特点3、发送样例3.1 发送纯文本邮件3.2 发送 html 邮件3.3 发送带

CSS模拟 html 的 title 属性(鼠标悬浮显示提示文字效果)

《CSS模拟html的title属性(鼠标悬浮显示提示文字效果)》:本文主要介绍了如何使用CSS模拟HTML的title属性,通过鼠标悬浮显示提示文字效果,通过设置`.tipBox`和`.tipBox.tipContent`的样式,实现了提示内容的隐藏和显示,详细内容请阅读本文,希望能对你有所帮助... 效