注册,激活邮件实践

本文参考十八哥的视频

数据库:

create table user(uid int primary key auto_increment,uname char(20) not null default ‘ ‘,email char(32) 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;

php

conn.php:数据库连接

<?php

$conn=mysql_connect(‘localhost‘,‘root‘,‘root‘);

mysql_query(‘use tempemail‘,$conn);

mysql_query(‘set names utf8‘,$conn);

?>

01.php:模拟注册用户,创建激活码,发送激活码

<?php

require(‘./conn.php‘);

require(‘./PHPMailer/class.phpmailer.php‘);

$str=‘abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ123456‘;

$uname=substr(str_shuffle(substr($str, 0,52)),0,8);//生成8位随机用户名

$email=‘[email protected]‘;

//模拟注册

$sql="insert into user(uname,email) values(‘$uname‘,‘$email‘)";

mysql_query($sql,$conn);

//生成激活码

$code=substr(str_shuffle(substr($str, 0,52)),0,8);

$expire=time()+5*24*3600;

$sql="insert into activecode(uname,code,expire) values(‘$uname‘,‘$code‘,‘$expire‘)";

mysql_query($sql,$conn);

//发送激活邮件

$phpmailer= new PHPMailer();

//选用smtp

$phpmailer->IsSMTP();

$phpmailer->Host=‘smtp.163.com‘;

$phpmailer->SMTPAuth=true;

$phpmailer->Username=‘php0620‘;

$phpmailer->Password=‘pwd‘;

//可以发信了

$phpmailer->From=‘[email protected]‘;

$phpmailer->FromName=‘fromname‘;

$phpmailer->Subject=$uname.‘欢迎注册‘;

$phpmailer->Body=‘请点击:http://localhost/02.php?code=‘.$code.‘ 进行激活‘;

//设置收件人

$phpmailer->AddAddress(‘[email protected]‘,‘first‘);

$phpmailer->AddCC(‘[email protected]‘,‘second‘);

//发信

echo $phpmailer->send()?‘ok‘:‘no‘;

?>

02.php

<?php

require(‘./conn.php‘);

$code=$_GET[‘code‘];

if(strlen($code)!=8){

exit(‘激活码错误‘);

}

$sql="select * from activecode where code=‘$code‘";

$rs=mysql_query($sql,$conn);

$row=mysql_fetch_assoc($rs);

if(empty($row)){

exit(‘激活码错误‘);

}

if(time()>$row[‘expire‘]){

exit(‘激活码过期‘);

}

//激活用户update

$sql="update user set status=1 where uname=‘$row[uname]‘";

mysql_query($sql,$conn);

//作废激活码

$sql="update activecode set expire=0 where code=‘$code‘";

mysql_query($sql,$conn);

?>

时间: 2024-11-10 07:09:52

注册,激活邮件实践的相关文章

javamail之实现注册激活邮件

需要的jar包 1.mysql驱动包 2.mail.jar包 SMTP和POP3协议概述 SMTP协议称为简单邮件传输协议,是一组用于从原地址到目的地址传送邮件的规则,由它来控制信件的中转方式.SMTP协议属于TCP/IP的协议簇,SMTP是负责邮件服务器之间的寄信的通信协定 POP3协议称为邮局协议版本3,也是TCP/IP协议簇的一员,基于POP3协议的服务器是用来接收信件的.每个Email地址一般只有一个如果想要同时收取多个邮箱的信件,就需要挨个设置每个邮箱的POP3服务器地址 核心代码实现

账户注册激活邮件及登入和注销

一:创建实体类: 1 import java.io.Serializable; 2 3 public class Customer implements Serializable { 4 private String id; 5 private String username; 6 private String password; 7 private String phone; 8 private String address; 9 private String email; 10 privat

Java实现注册时发送激活邮件+激活

最近从项目分离出来的注册邮箱激活功能,整理一下,方便下次使用 1.RegisterController.java package com.app.web.controller; import java.text.ParseException; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; i

java 实现注册时发送激活邮件+激活

在很多网站注册的时候,为了验证用户信息的真实合法,往往需要验证用户所填邮件的准确性.形式为:用户注册时填写邮箱,注册完成后,网站会向用户所填邮箱发送一封激活邮件,用户点击激活邮件中的链接后,方可完成注册. 最近项目中也用到这个需求,做了个Demo与大家分享,大至思想如下: 数据库表结构 用户表t_user有五个字段分别为用户名.密码.邮箱地址.激活码.状态: | username | password | email |code | state | 核心代码: UserManager.java

SpringBoot实现网站注册,邮件激活码激活功能

项目源码:https://gitee.com/smfx1314/springbootemail 上一篇文章已经讲到如何springboot如何实现邮件的发送,趁热打铁,这篇文章实现如下功能. 很多网站注册功能都会给您注册的邮箱发送一封邮件,里面是一串连接,点击链接激活功能,今天咱们就实现这个功能. 原理: 在您注册的时候,User类中设置一个邮件码code,同时用户状态未激活.邮件码可以通过UUID实现,这样在注册的时候发送一封邮件,把这个邮件码以html的格式发送到指定邮箱,然后通过点击链接,

图文详解PDF与word、excel、ppt互转工具Solid PDF Tools v9的下载、安装与注册激活

很多同学经常询问小编有没有关于PDF转word.excel.ppt或者它们之间互转的软件,之前亦是美网络小编曾经给大家介绍过一款工具AnyBizSoft_PDF_Convert的下载.安装与注册激活使用教程,但是有部分小伙伴反映说安装时出现了问题,可能是系统不兼容导致的无法使用,为了解决小伙伴的难题,今天再给大家分享一款PDF与word.excel.ppt互转工具,那就是Solid PDF Tools v9中文版,下面亦是美网络给大家介绍一下它的下载.安装与注册激活教程吧. Solid PDF

web day24 小项目练习图书商城, 用户,模块(注册,激活,登陆,退出),分类/图书模块

图书商城 模块 用户模块 分类模块 图书模块 购物车模块 订单模块 功能分析 前台 用户模块:注册/激活/登陆/退出 分类模块:查看所有分类 图书模块:查询所有图书/按分类查询图书/查询图书详细(id) 购物车模块:添加/清空/删除购物车条目 /我的购物车(按用户查询) 订单模块:生成订单/我的订单(按用户查询)/按id查询订单/确认收货/ /付款功能(只跳转到银行页面)/付款回调功能 后台 管理员:登陆 分类管理:增/删/改/查 图书管理(我的):增(上传图片)/删/改/查 订单模块:查询所有

Java——用户激活邮件工具类

我们经常遇到在网站或者软件注册新用户时需要向我们的注册邮箱发送一封激活邮件,然后我们去邮箱点击激活连接后我们的用户名才能登陆,其过程是当我们注册成功后数据库已经存入该用户的相关信息,但是用户状态为不可用,所以这时候该用户名是不能正常使用的.因此系统需要向我们的注册邮箱发一封激活邮件,我们点击激活连接后系统会将数据库中用户状态字段更改为可用状态,至此用户激活成功,该用户可以正常使用.下面是实现过程: 为了方便起见我们还是编写一个发送邮箱工具类. <span style="font-famil

更改邮件发送语言为英语,解决编码为UTF8邮箱注册账号,邮件内容乱码问题

Change email English language, code for UTF8 mailbox registered account, email content garbled. 1. code analysis 乱码分析 通过对中文编码的邮件服务器使用原来的系统(GB2312) The original system used by the mail server encoding for the Chinese code (GB2312) 我使用outlook.com的邮箱(UT