具体如下:
配置框架采用ThinkPHP3.1框架,如下所示:
配置过程图:
php入门到就业线上直播课:进入学习
Apipost = Postman + Swagger + Mock + Jmeter 超好用的API调试工具:点击使用
1.修改配置如下:
<?phpreturn array(//'配置项'=>'配置值''MAIL_ADDRESS'=>'shcg666@sohu.com', // 邮箱地址'MAIL_SMTP'=>'smtp.sohu.com', // 邮箱SMTP服务器'MAIL_LOGINNAME'=>'shcg666@sohu.com', // 邮箱登录帐号'MAIL_PASSWORD'=>'******', // 邮箱密码);
登录后复制
2.在功能里面增加一个类
<?phpclass 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";//将邮件地址和随机数放入sessionsession("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文件点击链接下载(https://share.weiyun.com/6ECQn7Mq)。
class.phpmailer.php文件完整实例代码点击链接下载(https://share.weiyun.com/beakkcPt)。
配置完成,具体的处理方式需要进一步改动。
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
相关推荐:最新的10个thinkphp视频教程
以上就是详解ThinkPHP框架如何实现邮箱激活功能的详细内容,更多请关注php中文网其它相关文章!