...
网站邮件发送是网站运营中不可或缺的一项功能。一般来说,网站邮件发送用到的功能有:
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']);
- if($response==”)
- {$this->redirect(‘index’,'Test’,”,APP_NAME,”1);
- }
- vendor(“PHPMailer.class#phpmailer”);
-
-
-
-
-
- function smtp_mail ( $sendto_email, $subject=null, $body=null,$sendto_name=null) {
- $mail = new PHPMailer();
- $mail->IsSMTP();
- $mail->Host = “202.38.64.8″;
- $mail->SMTPAuth = true;
- $mail->Username = “sdaping@mail.ustc.edu.cn”;
- $mail->Password = “123456″;
- $mail->From = “sdaping@mail.ustc.edu.cn”;
- $mail->FromName = ”网站用户”;
- $mail->CharSet = “utf-8″;
- $mail->Encoding = “base64″;
- $mail->AddAddress($sendto_email,$sendto_name);
- $mail->AddReplyTo(’sdaping@mail.ustc.edu.cn’,”管理员”);
-
-
-
- $mail->IsHTML(true);
-
- $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);
- }
- }
- ?>