Thinkphp邮箱发送、测试可用

很多小伙伴做的项目,都有邮箱注册的、最近做个一个项目有这一个功能、上代码 thinkphp 3.2 为例、代码很简单

创新互联建站专注为客户提供全方位的互联网综合服务,包含不限于成都网站设计、做网站、成都外贸网站建设公司、阿图什网络推广、微信平台小程序开发、阿图什网络营销、阿图什企业策划、阿图什品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们大的嘉奖;创新互联建站为所有大学生创业者提供阿图什建站搭建服务,24小时服务热线:18982081108,官方网址:www.cdcxhl.com

发送需要一个表单:

用户名
邮箱:

//邮箱发送 public function emailReg(){ $aEmailData = I(\'post.\'); $aEmailData[\'username\'] = \'****\'; $aEmailData[\'addtime\'] = time(); //发送时间 $aEmailData[\'auth\'] = data_auth_sign($aEmailData); //签名 $this->assign(\'authurl\',U(\'User/emailRegister\'),$aEmailData,true,true); $content = $this->fetch(\'Email:register\');//发送的内容 if(!sendMail($aEmailData[\'email\'],\'注册邮箱激活\',$content)){ $this->error(\'注册失败\'); }else{ $this->error(\'激活邮件已发送,请到邮件中激活!\'); } }

使用PHPMailer 来发送邮件,下载链接 http://pan.baidu.com/s/1jHAvs3s

/** * 邮件发送函数 */ function sendMail($to, $title, $content) { Vendor(\'PHPMailer\'); //把phpmailer 放到ThinkPHP/Vendor/ Vendor(\'SMTP\'); $mail = new PHPMailer(); //实例 $mail->IsSMTP(); // 启用SMTP $mail->Host=\'smtp.qq.com\'; //smtp服务器的名称(这里以QQ邮箱为例) $mail->SMTPAuth = true; //启用smtp认证 $mail->Username = \'****@qq.com\'; //你的邮箱名 $mail->Password = \'hnlqaknt\' ; //密码 smtp 要开启、生成授权码,不知道的小伙伴百度一下如何开启QQ smtp的 $mail->From = \'***@qq.com\'; //发件人地址(也就是你的邮箱地址) $mail->FromName = \'*****\'; //发件人姓名 $mail->AddAddress($to,"尊敬的客户"); $mail->WordWrap = 50; //设置每行字符长度 $mail->IsHTML(TRUE); // 是否HTML格式邮件 $mail->CharSet=\'utf-8\'; //设置邮件编码 $mail->Subject =$title; //邮件主题 $mail->Body = $content; //邮件内容 $mail->AltBody = "这是一个纯文本的身体在非营利的HTML电子邮件客户端"; //邮件正文不支持HTML的备用显示 return($mail->Send()); }

/** * 数据签名认证 * @param array $data 被认证的数据 * @return string 签名 */ function data_auth_sign($data) { //数据类型检测 if(!is_array($data)){ $data = (array)$data; } ksort($data); //排序 $code = http_build_query($data); //url编码并生成query字符串 $sign = sha1($code); //生成签名 return $sign; }
//签名也就是用户点击邮箱链接时候激活验证的

在View 文件夹创建 Email/register.html /将下面代码复制到里面

  注册激活
尊敬的用户
您好!欢迎您注册{:C(\'WEB_SITE_TITLE\')}会员,请点击下面的链接激活您的帐号(如果显示的不是链接,请将下面的地址复制到浏览器的地址栏里按下回车键)
{$authurl}
帐号激活后,您即可享受{:C(\'WEB_SITE_TITLE\')}的各项会员服务。
链接有效期为 3
请注意:此邮件系 {:C(\'WEB_SITE_TITLE\')} 自动发送,请勿直接回复。
如果此邮件不是您请求的,请忽略并删除!

复制上面的代码直接可以用、


本文题目:Thinkphp邮箱发送、测试可用
转载注明:http://ybzwz.com/article/chsgdd.html