
本文实例讲述了ThinkPHP框架实现的邮箱激活功能 。分享给大家供大家参考 , 具体如下:
配置框架采用ThinkPHP3.1框架 , 如下所示:
配置过程图:
1.修改配置如下:
<?php
return array(
//'配置项'=>'配置值'
'MAIL_ADDRESS'=>'shcg666@sohu.com', // 邮箱地址
'MAIL_SMTP'=>'smtp.sohu.com', // 邮箱SMTP服务器
'MAIL_LOGINNAME'=>'shcg666@sohu.com', // 邮箱登录帐号
'MAIL_PASSWORD'=>'******', // 邮箱密码
);
2.在功能里面增加一个类
<?php
class EmailAction extends Action{
/*
* microtime() 函数返回当前 Unix 时间戳和微秒数 。
* mt_srand() 播种 Mersenne Twister 随机数生成器 。从 PHP 4.2.0 版开始 , seed 参数变为可选项 , 当该项为空时 , 会被设为随时数 。
* 注释:自 PHP 4.2.0 起 , 不再需要用 srand() 或 mt_srand() 函数给随机数发生器播种 , 现已自动完成 。
* pow — 指数表达式
*/
//random()这个函数是我用来生成一个随机数的 , $numeric = 0生成一个6位的大小写字母与数字混合的字符串 。$numeric = 1生成一个6位数字的字符串
public function random($length = 6 , $numeric = 0) {
PHP_VERSION < '4.2.0' && mt_srand((double)microtime() * 1000000);
if($numeric) {
$hash = sprintf('%0'.$length.'d', mt_rand(0, pow(10, $length) – 1));
} else {
$hash = '';
$chars = 'ABCDEFGHJKLMNPQRSTUVWXYZ23456789abcdefghjkmnpqrstuvwxyz';
$max = strlen($chars) – 1;
for($i = 0; $i < $length; $i++) {
$hash .= $chars[mt_rand(0, $max)];
}
}
return $hash;
}
//发送邮件的方法
public function index(){
//生成6位激活码
$random = $this->random(6,0);
【网易邮箱126邮箱可以接受多少邮件 网易邮箱126邮箱】 //获取本网站的域名 , 域名在config里面配置下.
//例如'domain' => 'http://write.blog.csdn.net',
$domain = C('domain');
//生成激活码模块地址
$url = $domain.U("Home/Email/activate")."/?yam=$random";
//将邮件地址和随机数放入session
session("shcg666@sohu.com","$random");
//发送邮件
SendMail("shcg666@sohu.com","这是邮件标题","将此网址复制到浏览框$url");
}
}
function SendMail($address,$title,$message){
//引入文件
vendor('PHPMailer.class#PHPMailer');
require("phpmailer/class.phpmailer.php");
require("phpmailer/class.smtp.php");
//实例化邮件类
$mail=new PHPMailer();
// 设置PHPMailer使用SMTP服务器发送Email
$mail->IsSMTP();
// 设置邮件的字符编码 , 若不指定 , 则为'UTF-8'
$mail->CharSet='UTF-8';
// 添加收件人地址 , 可以多次使用来添加多个收件人
$mail->AddAddress($address);
// 设置邮件正文
$mail->Body=$message;
// 设置邮件头的From字段 。//发件人
$mail->From=C('MAIL_ADDRESS');
// 设置发件人名字
$mail->FromName='LilyRecruit';
// 设置邮件标题
$mail->Subject=$title;
// 设置SMTP服务器 。
$mail->Host=C('MAIL_SMTP');
推荐阅读
- 电信的邮箱格式是什么
- QQ邮箱已过期的附件 qq邮箱已过期的超大附件怎么恢复
- 电脑下载什么邮箱好用 什么邮箱好用
- 怎么发邮件到别人邮箱 怎么发邮件
- 163邮箱忘了登录账号了怎么办 163邮箱账号忘记了怎么办
- 注册邮箱163免费 163注册邮箱免费注册
- 手机登录网易云网络异常 手机登录网易云网页版
- qq邮箱怎么发压缩包 qq邮箱怎么发
- 网易邮箱地址可以改吗 网易邮箱地址
- 电子邮箱怎么写才正确呢 电子邮箱怎么写
