看了前辈分享的邮件发送功能 始终发送不成功 后经过测试 看了PHPMailer内用法 终于成功了 我用的qq邮箱 其他邮箱没测试 分享一下功能
一、首先要开启qqSMTP服务、然后下载PHPMailer插件放到ThinkPHP核心框架下Library/Vendor文件夹内
二、在核心框架下ThinkPHP/Library/Org/Util 新建一个邮件发送类 Mail.class.php
内容如下:
<?php namespace Org\Util; class mail{ public function sendmail($to,$subject,$body){ //引入加载 vendor("PHPMailer.PHPMailerAutoload"); $mail = new\PHPMailer; //$mail->SMTPDebug = 3; // Enable verbose debug output $mail->isSMTP(); // Set mailer to use SMTP $mail->Host = 'smtp.qq.com'; // Specify main and backup SMTP servers $mail->SMTPAuth = true; // Enable SMTP authentication $mail->Username = 'qq号码@qq.com'; // SMTP username $mail->Password = 'qq授权码'; // SMTP password $mail->SMTPSecure = 'ssl'; // Enable TLS encryption, `ssl` also accepted $mail->Port = 465; // TCP port to connect to $mail->setFrom('qq号码@qq.com', 'php'); $mail->addAddress($to); // Add a recipient // Name is optional $mail->addReplyTo('qq号码@qq.com', 'php'); //$mail->addCC('cc@example.com'); //$mail->addBCC('bcc@example.com'); $mail->isHTML(true); // Set email format to HTML $mail->Subject = $subject; $mail->Body = $body; $mail->AltBody = 'o'; if(!$mail->send()) { //输出错误信息 echo 'Mailer Error: ' . $mail->ErrorInfo; return false; } else { //echo 'Message has been sent'; 成功输出 return true; } } } ?>
控制器:
public function mail(){ $mail=new \Org\Util\Mail; if($mail->sendmail('接收邮件qq号码@qq.com',$_POST['title'],$_POST['content'])){ $this->success('添加成功','Index/index'); }else{ echo 'error'; } }
视图:
<form action="__URL__/mail" method="post" enctype="multipart/form-data"> 楼盘名称:<input type="text" id="title" name="title"/> 电话号码<input type="text" id="content" name="content"/> <input class="button" type="submit" value="发送" style="margin: 0 auto;display: block;"/> </form>
评论(0)