ThinkPHP框架实现的邮箱激活功能示例

2018-09-07 13:02

阅读:392

  本文实例讲述了ThinkPHP框架实现的邮箱激活功能。分享给大家供大家参考,具体如下:

  配置框架采用ThinkPHP3.1框架,如下所示:

  配置过程图:

  1.修改配置如下:

   <?php return array( //配置项=>配置值 // 邮箱地址, // 邮箱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 => 生成激活码模块地址 $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邮箱
发送服务器:

  网易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

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

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

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

  新浪免费邮箱

  搜狐邮箱
接收服务器: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

  更多关于thinkPHP相关内容感兴趣的读者可查看本站专题:《ThinkPHP入门教程》、《thinkPHP模板操作技巧总结》、《ThinkPHP常用方法总结》、《codeigniter入门教程》、《CI(CodeIgniter)框架进阶教程》、《Zend FrameWork框架入门教程》及《PHP模板技术总结》。

  希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。


评论


亲,登录后才可以留言!