THinkPHP中利用PHPMailer做邮件发送功能

阅读更多

网站邮件发送是网站运营中不可或缺的一项功能。一般来说,网站邮件发送用到的功能有:
1、网站用户给网站管理员留言或建议(通过表单提到到服务器利用邮件程序发送到管理员的邮箱里)。
2、用户注册时,给用户注册的电子邮箱发送一封认证邮件,用户登录邮箱后经过认证才能够成为网站的正式用户。
3、给其他用户发送邮件等等。
PHPmailer能够很好的执行该功能。本例在php5之上的版本演示成功,PHPmailer Version: 5.0.2 。本例实现的是上述功能1,即网站用户给管理员发送意见。
首先,下载PHPmailer类库包并将之解压到THinkPHP的vendor目录中。
其次,在一个模块里编写发送邮件的mail 方法。本例将在 Message模块的mail方法中实现邮发功能。
*********************************************************************************************

 

view plain
  1. class MessageAction extends Action{  
  2. public function mail(){ //邮发方法的定义  
  3. $response= trim($_POST['comment']); //用户通过表单POST过来的意见字符串。  
  4. if($response==”)  
  5. {$this->redirect(‘index’,'Test’,”,APP_NAME,”1);//留言为空时跳转到留言页面  
  6. }  
  7. vendor(“PHPMailer.class#phpmailer”);//导入函数包的类class.phpmailer.php  
  8. //下面定义一个发送邮件的函数,已经测试通过。  
  9. //$sendto_email:邮件发送地址  
  10. //$subject:邮件主题  
  11. //$body:邮件正文内容  
  12. //$sendto_name邮件接受方的姓名,发送方起的名字。一般可省。  
  13. function smtp_mail ( $sendto_email$subject=null, $body=null,$sendto_name=null) {  
  14. $mail = new PHPMailer(); //新建一个邮件发送类对象  
  15. $mail->IsSMTP();                // send via SMTP  
  16. $mail->Host = “202.38.64.8″; // SMTP 邮件服务器地址,这里需要替换为发送邮件的邮箱所在的邮件服务器地址  
  17. $mail->SMTPAuth = true;         // turn on SMTP authentication 邮件服务器验证开  
  18. $mail->Username = “[email protected]”;   // SMTP服务器上此邮箱的用户名,有的只需要@前面的部分,有的需要全名。请替换为正确的邮箱用户名  
  19. $mail->Password = “123456″;        // SMTP服务器上该邮箱的密码,请替换为正确的密码  
  20. $mail->From = “[email protected]”;    // SMTP服务器上发送此邮件的邮箱,请替换为正确的邮箱,$mail->Username 的值是对应的。  
  21. $mail->FromName =  ”网站用户”;  // 真实发件人的姓名等信息,这里根据需要填写  
  22. $mail->CharSet = “utf-8″;            // 这里指定字符集!  
  23. $mail->Encoding = “base64″;  
  24. $mail->AddAddress($sendto_email,$sendto_name);  // 收件人邮箱和姓名  
  25. $mail->AddReplyTo(’[email protected]’,”管理员”);//这一项根据需要而设  
  26. //$mail->WordWrap = 50; // set word wrap  
  27. //$mail->AddAttachment(“/var/tmp/file.tar.gz”); // 附件处理  
  28. //$mail->AddAttachment(“/tmp/image.jpg”, “new.jpg”);  
  29. $mail->IsHTML(true);  // send as HTML  
  30. // 邮件主题  
  31. $mail->Subject = $subject;  
  32. // 邮件内容  
  33. $mail->Body = ‘  
  34.   
  35.   
  36.   
  37. ’.$body.’’;  
  38. $mail->AltBody =”text/html”;  
  39. if(!$mail->Send())  
  40. {  
  41. echo  ”  
  42.   
  43.   
  44. ”;  
  45. echo “"’text-align:center;’" mce_style="’text-align:center;’">邮件发送有误
”;  
  • echo “"’text-align:center;’" mce_style="’text-align:center;’">邮件错误信息: ” . $mail->ErrorInfo.”
  • ”;  
  • echo “”;  
  • exit;  
  • }  
  • else {  
  • echo  ”  
  •   
  •   
  • ”;  
  • echo “"’text-align:center;’" mce_style="’text-align:center;’">邮件发送成功!
  • ”;  
  • echo “”;  
  • }  
  • }  
  • // 参数说明(发送到的邮箱地址, 邮件主题, 邮件内容, 接受方的的姓名)  
  • $sendto_mail=’[email protected]’;//填写要发送给管理员的邮件接受地址,请改为正确的地址  
  • $subject=’网站建议’;//邮件主题  
  • $body=$response;//意见内容  
  • mail($sendto_mail,$subject,$body);//发送邮件  
  • }  
  • }  
  • ?>  
  •  

    你可能感兴趣的:(phpmailer,thinkphp)