THinkPHP中邮件发送
2011-01-14 16:55
148 查看
网站邮件发送是网站运营中不可或缺的一项功能。一般来说,网站邮件发送用到的功能有:
1、网站用户给网站管理员留言或建议(通过表单提到到服务器利用邮件程序发送到管理员的邮箱里)。
2、用户注册时,给用户注册的电子邮箱发送一封认证邮件,用户登录邮箱后经过认证才能够成为网站的正式用户。
3、给其他用户发送邮件等等。
PHPmailer能够很好的执行该功能。本例在php5之上的版本演示成功,PHPmailer Version: 5.0.2
。本例实现的是上述功能1,即网站用户给管理员发送意见。
首先,下载PHPmailer类库包并将之解压到THinkPHP的vendor目录中。
其次,在一个模块里编写发送邮件的mail 方法。本例将在 Message模块的mail方法中实现邮发功能。
*********************************************************************************************
1、网站用户给网站管理员留言或建议(通过表单提到到服务器利用邮件程序发送到管理员的邮箱里)。
2、用户注册时,给用户注册的电子邮箱发送一封认证邮件,用户登录邮箱后经过认证才能够成为网站的正式用户。
3、给其他用户发送邮件等等。
PHPmailer能够很好的执行该功能。本例在php5之上的版本演示成功,PHPmailer Version: 5.0.2
。本例实现的是上述功能1,即网站用户给管理员发送意见。
首先,下载PHPmailer类库包并将之解压到THinkPHP的vendor目录中。
其次,在一个模块里编写发送邮件的mail 方法。本例将在 Message模块的mail方法中实现邮发功能。
*********************************************************************************************
<?php class MessageAction extends Action{ public function mail(){ //邮发方法的定义 $response= trim($_POST['comment']); //用户通过表单POST过来的意见字符串。 if($response==”) {$this->redirect(‘index’,'Test’,”,APP_NAME,”1);//留言为空时跳转到留言页面 } vendor(“PHPMailer.class#phpmailer”);//导入函数包的类class.phpmailer.php //下面定义一个发送邮件的函数,已经测试通过。 //$sendto_email:邮件发送地址 //$subject:邮件主题 //$body:邮件正文内容 //$sendto_name邮件接受方的姓名,发送方起的名字。一般可省。 function smtp_mail ( $sendto_email, $subject=null, $body=null,$sendto_name=null) { $mail = new PHPMailer(); //新建一个邮件发送类对象 $mail->IsSMTP(); // send via SMTP $mail->Host = “202.38.64.8″; // SMTP 邮件服务器地址,这里需要替换为发送邮件的邮箱所在的邮件服务器地址 $mail->SMTPAuth = true; // turn on SMTP authentication 邮件服务器验证开 $mail->Username = “sdaping@mail.ustc.edu.cn”; // SMTP服务器上此邮箱的用户名,有的只需要@前面的部分,有的需要全名。请替换为正确的邮箱用户名 $mail->Password = “123456″; // SMTP服务器上该邮箱的密码,请替换为正确的密码 $mail->From = “sdaping@mail.ustc.edu.cn”; // SMTP服务器上发送此邮件的邮箱,请替换为正确的邮箱,$mail->Username 的值是对应的。 $mail->FromName = ”网站用户”; // 真实发件人的姓名等信息,这里根据需要填写 $mail->CharSet = “utf-8″; // 这里指定字符集! $mail->Encoding = “base64″; $mail->AddAddress($sendto_email,$sendto_name); // 收件人邮箱和姓名 $mail->AddReplyTo(’sdaping@mail.ustc.edu.cn’,”管理员”);//这一项根据需要而设 //$mail->WordWrap = 50; // set word wrap //$mail->AddAttachment(“/var/tmp/file.tar.gz”); // 附件处理 //$mail->AddAttachment(“/tmp/image.jpg”, “new.jpg”); $mail->IsHTML(true); // send as HTML // 邮件主题 $mail->Subject = $subject; // 邮件内容 $mail->Body = ‘ <html><head> <meta http-equiv=”Content-Language” content=”zh-cn”> <meta http-equiv=”Content-Type” content=”text/html; charset=utf-8″></head> <body>’.$body.’</body></html>’; $mail->AltBody =”text/html”; if(!$mail->Send()) { echo ”<html><head> <meta http-equiv=’Content-Language’ content=’zh-cn’> <meta http-equiv=’Content-Type’ content=’text/html; charset=utf-8′></head> <body>”; echo “<div style="’text-align:center;’" mce_style="’text-align:center;’">邮件发送有误</div>”; echo “<div style="’text-align:center;’" mce_style="’text-align:center;’">邮件错误信息: ” . $mail->ErrorInfo.”</div>”; echo “</body></html>”; exit; } else { echo ”<html><head> <meta http-equiv=’Content-Language’ content=’zh-cn’> <meta http-equiv=’Content-Type’ content=’text/html; charset=utf-8′></head> <body>”; echo “<div style="’text-align:center;’" mce_style="’text-align:center;’">邮件发送成功!</div>”; echo “</body></html>”; } } // 参数说明(发送到的邮箱地址, 邮件主题, 邮件内容, 接受方的的姓名) $sendto_mail=’admistrator@sites.com’;//填写要发送给管理员的邮件接受地址,请改为正确的地址 $subject=’网站建议’;//邮件主题 $body=$response;//意见内容 mail($sendto_mail,$subject,$body);//发送邮件 } } ?>
相关文章推荐
- thinkphp中怎么使用phpmailer发送邮件
- 在Thinkphp3.2 中使用PHPMailer 发送邮件
- ThinkPHP邮件发送函数
- ThinkPHP 中使用 PHPMailer 发送邮件(支持163、QQ邮箱,附下载)
- thinkphp使用phpmailer发送邮件的方法
- ThinkPHP邮件发送函数
- Thinkphp整合swiftmailer实现邮件发送
- thinkphp集成系列之phpmailer批量发送邮件
- PHP_thinkphp框架使用PHPMailer实现发送邮件的功能,以及各种问题解析
- ThinkPHP下SMTP的发送邮件
- Thinkphp发送邮件完全教程
- thinkphp 邮件发送
- Thinkphp中使用PHPmailer发送邮件
- thinkphp 整合 swiftmailer 实现邮件发送
- thinkphp发送邮件
- ThinkPHP3.2使用PHPMailer发送邮件
- ThinkPHP邮件发送函数
- thinkphp集成系列之phpmailer批量发送邮件
- thinkphp php 使用mail---sendmial函数去发送邮件
- ThinkPHP邮件发送步骤