`
butter
  • 浏览: 125621 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

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

    博客分类:
  • PHP
阅读更多

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

 

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

 

分享到:
评论
1 楼 java_ruji 2012-02-23  
发送邮件时的速度超级慢??

相关推荐

    thinkphp5.0+phpmailer-demo

    通过研究和实践"thinkphp5.0+phpmailer-demo"项目,开发者不仅可以掌握ThinkPHP5.0框架的基本用法,还能深入理解如何在PHP环境中利用第三方库进行邮件发送,这对于提升Web开发技能非常有帮助。同时,这也是一个很好...

    thinkphp利用phpmailer发送邮件

    thinkphp利用phpmailer发送邮件,qq邮箱和163都已测试成功。

    ThinkPHP利用PHPMailer实现邮件发送实现代码

    ThinkPHP是一个基于MIT协议的轻量级PHP开发框架,而PHPMailer是一个功能强大的邮件发送类库。结合两者可以便捷地在ThinkPHP框架中实现邮件发送功能。下面介绍的是在ThinkPHP框架中使用PHPMailer进行邮件发送的具体...

    phpmailer+thinkphp3.2,命名空间

    总的来说,"phpmailer+thinkphp3.2,命名空间"这个话题涉及了如何在ThinkPHP 3.2框架中利用PHPMailer库进行邮件发送。通过控制器(如`DiaoyongController.class`)调用服务层或工具类中的方法,开发者可以实现与用户...

    PHP邮件发送插件thinkphp

    开发者可以利用PHPMailer轻松地构建邮件发送逻辑,同时结合ThinkPHP框架,实现与应用的无缝集成。 使用这个插件,开发者可以编写代码来设置邮件的收件人、主题、正文,甚至可以添加附件。邮件内容可以是纯文本,也...

    用thinkphp5框架 实现 发送电子邮件功能

    在"基于thinkphp5实现发送电子邮件功能.txt"和"2.phpmailer发送邮件.txt"中,应该有更详细的步骤和示例代码,你可以参考这些文档进一步理解如何在ThinkPHP5中使用PHPMailer发送邮件。 最后,"thinkphp5发送邮件...

    ThinkPHP-个人QQ邮件发送

    在这个项目“ThinkPHP-个人QQ邮件发送”中,我们看到的是一个利用ThinkPHP框架实现的邮件发送功能,特别是通过个人QQ邮箱来发送邮件。 首先,我们需要了解ThinkPHP的基本概念。ThinkPHP是一个开源的PHP MVC(Model-...

    thinkphp使用phpmailer发送邮件的方法

    在PHP开发中,发送邮件是一项常见的需求,ThinkPHP框架提供了集成第三方库的能力,使得我们可以方便地利用PHPMailer这个强大的邮件发送插件。PHPMailer支持多种SMTP服务器,具有丰富的功能,如HTML邮件、附件发送等...

    tp5 phpmailer

    通过以上步骤,你可以在TP5框架中利用PHPMailer实现邮件发送功能。这个过程既方便又高效,是PHP开发中常用的一种技术实践。在实际开发中,你还可以根据需求扩展功能,例如添加模板引擎来生成更复杂的邮件内容,或者...

    PHP插件PHPMailer发送邮件功能

    PHPMailer是一个广泛使用的PHP邮件发送类库,它为PHP...理解这些步骤和细节对于有效地利用PHPMailer发送邮件非常重要。此外,还需要注意邮件服务器的安全配置以及对错误的处理,以确保邮件发送过程的稳定性和安全性。

    ThinkPHP31.3发送邮件

    在这个特定的知识点中,我们关注的是ThinkPHP3.1.3版本中的邮件发送功能。这个功能允许开发者通过程序自动化发送电子邮件,这对于通知用户、发送验证码或者进行营销活动等场景非常实用。 首先,我们需要理解SMTP...

    ThinkPHP3.2利用QQ邮箱/163邮箱通过PHPMailer发送邮件的方法

    最近因为工作的需要,要实现给我们的网站用户发送邮件的需求,所以下面这篇文章主要给大家介绍了关于ThinkPHP3.2利用QQ邮箱/163邮箱通过PHPMailer发送邮件的方法,需要的朋友可以参考借鉴,下面随着小编来一起来学习...

    tp5和tp5.1发送邮件拓展包

    总的来说,"tp5和tp5.1发送邮件拓展包"提供了一种方便的途径,让ThinkPHP开发者可以利用PHPMailer库在项目中实现邮件发送功能,同时支持OAuth认证,提高了安全性。通过Composer管理和自动加载,使得集成和维护变得...

    ThinkPHP3.2.3框架邮件发送功能图文实例详解

    本文从理论到实践,详细介绍了在ThinkPHP框架中如何利用PHPMailer实现邮件发送功能,包括前期准备工作、代码实现、功能实现效果以及相关资源的获取。希望能够帮助基于ThinkPHP框架的PHP程序员顺利实现邮件发送功能,...

    TP5发送邮件类库

    本文将详细探讨如何在TP5中利用phpmailer类库来实现邮件发送功能。 `phpmailer`是一个强大的PHP邮件发送类库,它支持SMTP协议,可以方便地与各种邮件服务器进行通信,包括Gmail、Yahoo、Hotmail等。在TP5中集成`...

    ThinkPHP5邮件发送服务封装(可发附件)

    下面将详细解释如何在ThinkPHP5中封装邮件发送服务,包括类的设计、属性配置和方法实现。 ### Composer安装PHPMailer 通过Composer安装PHPMailer,可以在命令行运行以下命令: ```bash composer require ...

    PHPMAILER实现PHP发邮件功能

    在PHP开发中,邮件发送是一个常见的需求,利用PHPMAILER可以帮助开发者快速地实现这一功能,而不需要深入了解SMTP协议的复杂细节。通过本文档提供的实例和步骤,开发者可以轻松地将邮件发送功能集成到自己的PHP应用...

Global site tag (gtag.js) - Google Analytics