Thinkphp邮箱发送实例
时间:5年前 阅读:4284
很多小伙伴做的项目,都有邮箱注册的、最近做个一个项目有这一个功能、上代码 thinkphp 3.2 为例、代码很简单
发送需要一个表单:
<form method="post" action="{:U('emailReg')}"> 用户名 <input type="text" name="username"></br> 邮箱: <input type="text" name="email"></br> <input type="submit"> </form>
//邮箱发送 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 /将下面代码复制到里面
<table cellpadding="0" cellspacing="0" width="700" align="center" style="font-family:Verdana,Arial;"> <tr> <td style="background:#003366;line-height:30px;font-size:14px;font-weight:bold;color:#FFFFFF;"> 注册激活</td> </tr> <tr> <td style="border:#CCCCCC 1px solid;padding:20px 20px 20px 20px;line-height:180%;font-size:13px;"> <strong>尊敬的用户</strong>:<br/> 您好!欢迎您注册{:C('WEB_SITE_TITLE')}会员,请点击下面的链接激活您的帐号(如果显示的不是链接,请将下面的地址复制到浏览器的地址栏里按下回车键)<br/> <a href="{$authurl}" target="_blank">{$authurl}</a><br/> 帐号激活后,您即可享受{:C('WEB_SITE_TITLE')}的各项会员服务。<br/> 链接有效期为 <strong style="color:red">3</strong> 天 </td> </tr> <tr> <td style="background:#333333;padding:10px;line-height:180%;font-size:12px;color:#FFFFFF;">请注意:此邮件系 <a href="{DT_PATH}" target="_blank" style="color:#FFFFFF;">{:C('WEB_SITE_TITLE')}</a> 自动发送,请勿直接回复。<br/>如果此邮件不是您请求的,请忽略并删除!</td> </tr> </table>
复制上面的代码直接可以用、
本站声明:网站内容来源于网络,如有侵权,请联系我们https://www.qiquanji.com,我们将及时处理。
微信扫码关注
更新实时通知
网友评论