首页 > 学院 > 开发设计 > 正文

TP框架实现发送邮件

2019-11-06 06:37:44
字体:
来源:转载
供稿:网友
1.在模块的配置文件config中加入下里面代码 'THINK_EMAIL' => array(                'SMTP_HOST'   => 'SMTP.163.com', //SMTP服务器                'SMTP_PORT'   => '465', //SMTP服务器端口                'SMTP_USER'   => '156******83@163.com', //SMTP服务器用户名                'SMTP_PASS'   => '********', //SMTP服务器密码                'FROM_EMAIL'  => '156******83@163.com', //发件人EMAIL                'FROM_NAME'   => 'demo', //发件人名称                'REPLY_EMAIL' => '', //回复EMAIL(留空则为发件人EMAIL)                'REPLY_NAME'  => '', //回复名称(留空则为发件人名称)                 ),2.在Common目录下创建function.php文件,加入下面代码function think_send_mail($to, $name, $subject = '', $body = '', $attachment = null){$config = C('THINK_EMAIL');vendor('PHPMailer.class#phpmailer'); //从PHPMailer目录导class.phpmailer.php类文件vendor('SMTP');$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 = On重启apache5.在控制器中使用函数think_send_mail('要发送的邮箱','发送人名称,即你的名称','标题','内容!');

6.注册时需要发送的内容需要一个链接,链接中应该具有账号和激活号,链接指向的方法应该和session中的数据做对比

如果正确,则修改账号状态。

7.自行下载phpmailer


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表