ThinkPHP框架实现的邮箱激活功能示例「终于解决」

ThinkPHP框架实现的邮箱激活功能示例「终于解决」本文实例讲述了ThinkPHP框架实现的邮箱激活功能。分享给大家供大家参考,具体如下:配置框架采用ThinkPHP3.1框架,如下所示:配置过程

欢迎大家来到IT世界,在知识的湖畔探索吧!

本文实例讲述了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);

//获取本网站的域名,域名在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’);

// 设置为”需要验证”

$mail->SMTPAuth=true;

// 设置用户名和密码。

$mail->Username=C(‘MAIL_LOGINNAME’);

$mail->Password=C(‘MAIL_PASSWORD’);

// 发送邮件。

return($mail->Send());

}

3.导入的文件

在网上下载PHPMailer包将class.smtp.php和class.phpmailer.php无需任何改动,直接复制进来即可。

class.smtp.php文件点击此处本站下载

class.phpmailer.php文件完整实例代码点击此处本站下载

配置完成,具体的处理方式需要进一步改动。

4.常见邮件服务器(接收服务器和发送邮件服务器)地址

腾讯QQ邮箱
接收服务器:pop.qq.com
发送服务器:smtp.qq.com

网易126邮箱
接收服务器:pop3.126.com
发送服务器:smtp.126.com

网易163免费邮
接收服务器:pop.163.com
发送服务器:smtp.163.com

网易163VIP邮箱
接收服务器:pop.vip.163.com
发送服务器:smtp.vip.163.com

网易188财富邮
接收服务器:pop.188.com
发送服务器:smtp.188.com

网易yeah.net邮箱
接收服务器:pop.yeah.net
发送服务器:smtp.yeah.net

网易netease.com邮箱
接收服务器:pop.netease.com
发送服务器:smtp.netease.com

新浪收费邮箱
接收服务器:pop3.vip.sina.com
发送服务器:smtp.vip.sina.com

新浪免费邮箱
接收服务器:pop3.sina.com.cn
发送服务器:smtp.sina.com.cn

搜狐邮箱
接收服务器:pop3.sohu.com
发送服务器:smtp.sohu.com

21cn快感邮
接收服务器:vip.21cn.com
发送服务器:vip.21cn.com

21cn经济邮
接收服务器:pop.163.com
发送服务器:smtp.163.com

tom邮箱
接收服务器:pop.tom.com
发送服务器:smtp.tom.com

263邮箱
接收服务器:263.net
发送服务器:smtp.263.net

网易163.com邮箱
接收服务器:rwypop.china.com
发送服务器:rwypop.china.com

雅虎邮箱
接收服务器:pop.mail.yahoo.com
发送服务器:smtp.mail.yahoo.com

Gmail邮箱
接收服务器:pop.gmail.com
发送服务器:smtp.gmail.com

如果以上文章对您有帮助,请给我们的开源项目点点star: github.crmeb.net/u/defu 不胜感激!

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://itzsg.com/22732.html

(0)

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们YX

mu99908888

在线咨询: 微信交谈

邮件:itzsgw@126.com

工作时间:时刻准备着!

关注微信