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

相关文章

基于Python实现自动化邮件发送系统的完整指南

《基于Python实现自动化邮件发送系统的完整指南》在现代软件开发和自动化流程中,邮件通知是一个常见且实用的功能,无论是用于发送报告、告警信息还是用户提醒,通过Python实现自动化的邮件发送功能都能... 目录一、前言:二、项目概述三、配置文件 `.env` 解析四、代码结构解析1. 导入模块2. 加载环

基于Python编写自动化邮件发送程序(进阶版)

《基于Python编写自动化邮件发送程序(进阶版)》在数字化时代,自动化邮件发送功能已成为企业和个人提升工作效率的重要工具,本文将使用Python编写一个简单的自动化邮件发送程序,希望对大家有所帮助... 目录理解SMTP协议基础配置开发环境构建邮件发送函数核心逻辑实现完整发送流程添加附件支持功能实现htm

python运用requests模拟浏览器发送请求过程

《python运用requests模拟浏览器发送请求过程》模拟浏览器请求可选用requests处理静态内容,selenium应对动态页面,playwright支持高级自动化,设置代理和超时参数,根据需... 目录使用requests库模拟浏览器请求使用selenium自动化浏览器操作使用playwright

SpringBoot整合Dubbo+ZK注册失败的坑及解决

《SpringBoot整合Dubbo+ZK注册失败的坑及解决》使用Dubbo框架时,需在公共pom添加依赖,启动类加@EnableDubbo,实现类用@DubboService替代@Service,配... 目录1.先看下公共的pom(maven创建的pom工程)2.启动类上加@EnableDubbo3.实

Python办公自动化实战之打造智能邮件发送工具

《Python办公自动化实战之打造智能邮件发送工具》在数字化办公场景中,邮件自动化是提升工作效率的关键技能,本文将演示如何使用Python的smtplib和email库构建一个支持图文混排,多附件,多... 目录前言一、基础配置:搭建邮件发送框架1.1 邮箱服务准备1.2 核心库导入1.3 基础发送函数二、

一文详解SpringBoot中控制器的动态注册与卸载

《一文详解SpringBoot中控制器的动态注册与卸载》在项目开发中,通过动态注册和卸载控制器功能,可以根据业务场景和项目需要实现功能的动态增加、删除,提高系统的灵活性和可扩展性,下面我们就来看看Sp... 目录项目结构1. 创建 Spring Boot 启动类2. 创建一个测试控制器3. 创建动态控制器注

浏览器插件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键盘控制... 目录概述:当自动化遇上可视化功能全景图核心功能矩阵技术栈深度效果展示使用教程四步操作指南核心代码解析