1.下载PHPMailer文件,把文件放入ThinkPHP目录下的Vendor文件夹内
2.在项目的Common的function文件内写入公共函数
function SendMail($to, $title, $content) { Vendor('PHPMailer.phpmailer'); $mail = new PHPMailer(); //设置使用SMTP服务器发送邮件 $mail->IsSMTP(); // 启用SMTP $mail->Host = C('MAIL_HOST'); //smtp服务器的名称(这里以QQ邮箱为例) $mail->SMTPAuth = C('MAIL_SMTPAUTH'); //启用smtp认证 $mail->Username = C('MAIL_USERNAME'); //你的邮箱名 $mail->Password = C('MAIL_PASSWORD'); //邮箱密码 $mail->From = C('MAIL_FROM'); //发件人地址(也就是你的邮箱地址) $mail->FromName = C('MAIL_FROMNAME'); //发件人姓名 $mail->AddAddress($to, "尊敬的客户"); $mail->WordWrap = 50; //设置每行字符长度 $mail->IsHTML(C('MAIL_ISHTML')); // 是否HTML格式邮件 $mail->CharSet = C('MAIL_CHARSET'); //设置邮件编码 $mail->Subject = $title; //邮件主题 $mail->Body = $content; //邮件内容 $mail->AltBody = "这是一个纯文本的HTML电子邮件客户端"; //邮件正文不支持HTML的备用显示 return ($mail->Send()); }
3.在项目的配置文件中可以进行对应的常量值配置
'MAIL_HOST' =>'smtp.qiye.163.com',//smtp服务器的名称 'MAIL_SMTPAUTH' =>TRUE, //启用smtp认证 'MAIL_USERNAME' =>'1234@qq.com',//你的邮箱名 'MAIL_FROM' =>'1234@qq.com',//发件人地址 'MAIL_FROMNAME'=>'张三',//发件人姓名 'MAIL_PASSWORD' =>'XGGGJT214.',//邮箱密码 'MAIL_CHARSET' =>'utf-8',//设置邮件编码 'MAIL_ISHTML' =>TRUE, // 是否HTML格式邮
4.最后在你需要发送邮件的控制器直接调用
SendMails($member['email'],'开户信息',"您的账号为:".123."<br/>"."您的密码为:".123);
5.如果发生Could not connect to SMTP host错误:
1.可以查看服务器的25号端口是否打开,可以使用telnet尝试连接STMP服务器,看是否连接成功。
2.查看防火墙是否阻挡