PHPmail 亲测可用

2017年5月8日9:10:471.在模块的配置文件中加入下里面代码,帐号最好用126邮箱'THINK_EMAIL' => array('SMTP_HOST' => 'smtp.163.com', //SMTP服务器'SMTP_PORT' => '465', //SMTP服务器端口'SMTP_USER' => 'ihtxt@126.com', //SMTP服务器用户名'SMTP_PASS' => 'ihtxt.com', //SMTP服务器密码'FROM_EMAIL' => 'wdxy@126.com', //发件人EMAIL'FROM_NAME' => '沃德学院', //发件人名称'REPLY_EMAIL' => 'wdxy@163.com', //回复EMAIL(留空则为发件人EMAIL)'REPLY_NAME' => '沃德学院', //回复名称(留空则为发件人名称)), 2.在模块的函数库中加入下面代码function think_send_mail($to, $name, $subject = '', $body = '', $attachment = null){$config = C('THINK_EMAIL');vendor('PHPMailer.class#phpmailer'); //从PHPMailer目录导class.phpmailer.php类文件$mail = new PHPMailer(); //PHPMailer对象$mail->CharSet = 'UTF-8'; //设定邮件编码,默认ISO-8859-1,若是发中文此项必须设置,不然乱码$mail->IsSMTP(); // 设定使用SMTP服务$mail->SMTPDebug = 0; // 关闭SMTP调试功能// 1 = errors and messages// 2 = messages only$mail->SMTPAuth = true; // 启用 SMTP 验证功能$mail->SMTPSecure = 'ssl'; // 使用安全协议$mail->Host = $config['SMTP_HOST']; // SMTP 服务器$mail->Port = $config['SMTP_PORT']; // SMTP服务器的端口号$mail->Username = $config['SMTP_USER']; // SMTP服务器用户名$mail->Password = $config['SMTP_PASS']; // SMTP服务器密码$mail->SetFrom($config['FROM_EMAIL'], $config['FROM_NAME']);$replyEmail = $config['REPLY_EMAIL']?$config['REPLY_EMAIL']:$config['FROM_EMAIL'];$replyName = $config['REPLY_NAME']?$config['REPLY_NAME']:$config['FROM_NAME'];$mail->AddReplyTo($replyEmail, $replyName);$mail->Subject = $subject;$mail->AltBody = "为了查看该邮件,请切换到支持 HTML 的邮件客户端"; $mail->MsgHTML($body);$mail->AddAddress($to, $name);if(is_array($attachment)){ // 添加附件foreach ($attachment as $file){is_file($file) && $mail->AddAttachment($file);}}return $mail->Send() ? true : $mail->ErrorInfo;}3.下载mail插件解压到ThinkPHP/Library/Vendor目录中,再将PHPMail目录中的class.smtp.php复制一份到Vendor目录中并重命名为SMTP.php4.修改php.int文件windows下在php.ini中去掉下面的分号extension=php_openssl.dll并将allow_url_fopen = Off改成allow_url_fopen = On5.在控制器中使用函数$r = think_send_mail('要发送的邮箱','发送人名称,即你的名称','文件标题','邮件内容');
相关文章
相关标签/搜索