初次使用thinkphp框架,开发一个邮件发送功能,由于对框架不熟悉折腾了几个小时终于成功了,以下是代码记录。
此函数只能在ThinkPHP中使用且需要phpmailer扩展的支持;
phpmail的下载地址:
https://code.google.com/a/apache-extras.org/p/phpmailer
将phpmailer解压后放置扩展放置到第三方类库扩展目录下: ThinkPHP/Extend/Vendor/文件夹下即可,并使用vendor方法来导入。更详细介绍参考:http://document.thinkphp.cn/manual_3_2.html#lib_extend
步骤1:创建think_send_mail方法
/**
* 系统邮件发送函数
* @param string $to 接收邮件者邮箱
* @param string $name 接收邮件者名称
* @param string $subject 邮件主题
* @param string $body 邮件内容
* @return boolean
*/
function think_send_mail($to, $name, $subject = ‘‘, $body = ‘‘){
vendor(‘PHPMailer.class#phpmailer‘); //从PHPMailer目录导class.phpmailer.php类文件
$mail = new \PHPMailer;//此处必须加“\”号否则报错// Inform class to use SMTP
$mail->IsSMTP();// Enable this for Testing
$mail->SMTPDebug = 2;// Enable SMTP Authentication
$mail->SMTPAuth = true;// Host of the SMTP Server
$mail->Host = ‘smtp.126.com‘;//SMTP服务器用户名// Port of the SMTP Server
$mail->Port = 25;//SMTP服务器端口// SMTP User Name
$mail->Username = "[email protected]";//邮箱地址// SMTP User Password
$mail->Password = "********";//邮箱密码// Set From Email Address
$mail->SetFrom("[email protected]", $name);// Add Subject
$mail->Subject= $subject;// Add the body for mail
$mail->MsgHTML($body);// Add To Address
$mail->AddAddress($to, $name);// Finally Send the Mail
return $mail->Send() ? true : $mail->ErrorInfo;
}
步骤2:在控制器调用即可
namespace Account\Controller;
use Think\Controller;
class AccountController extends Controller {
//调用发送邮件功能
public function getPwd(){$toEmail =$_POST[‘email‘];
$subJect=‘邮件主题‘;
$body=‘邮件内容‘;
$name=‘发件人名称‘;
$result=$this->think_send_mail($toEmail,‘sever‘,$subJect,$body);
if($result)
echo "ok";
else
echo "failed";}
}
ThinkPHP中邮件发送功能,布布扣,bubuko.com