标签: thinkphp

  • ThinkPHP5.1的Apache和Nginx配置

    每次部署 ThinkPHP5.1 的程序,伪静态总要出点问题,和 Laravel、WordPress 等程序的不太一样,这里记录一下,备用。

    For APACHE:

    <IfModule mod_rewrite.c>
      Options +FollowSymlinks -Multiviews
      RewriteEngine On
    
      RewriteCond %{REQUEST_FILENAME} !-d
      RewriteCond %{REQUEST_FILENAME} !-f
      RewriteRule ^(.*)$ index.php [L,E=PATH_INFO:$1]
    </IfModule>

    For Nginx:

    location / {
        if (!-e $request_filename) {
            rewrite  ^(.*)$  /index.php?s=/$1  last;
        }
    }
  • ThinkPHP使用PHPMailer发送邮件

    1、把PHPMailer.class.php, pop3.class.php, smtp.class.php三个文件放入ThinkPHP\Library\Vendor\PHPMailer目录下

    2、项目目录下,Common文件夹里建立functions.php, 写入下面代码:

    <?php
       
    function SendMail($address,$title,$message)
    {
         import('Vendor.PHPMailer.PHPMailer');
         $mail=new PHPMailer();   
         $mail->PluginDir=THINK_PATH . 'Library/Vendor/PHPMailer/';  
         // 设置PHPMailer使用SMTP服务器发送Email   
         $mail->IsSMTP();  
         $mail->Port = 25;    
         // 设置邮件的字符编码,若不指定,则为'UTF-8'   
         $mail->CharSet='UTF-8';    
         // 添加收件人地址,可以多次使用来添加多个收件人   
         $mail->AddAddress($address);    
         // 设置邮件正文   
         $mail->Body=$message;    
         // 设置邮件头的From字段。   
         $mail->From=C('MAIL_ADDRESS');    
         // 设置发件人名字   
         $mail->FromName='inrn';    
         // 设置邮件标题   
         $mail->Subject=$title;    
         // 设置SMTP服务器。   
         $mail->Host=C('MAIL_SMTP');
         // 以html方式发送 
         //$mail->IsHTML(true);     
         // 设置为"需要验证"  
         $mail->SMTPAuth=true;    
         // 设置用户名和密码。   
         $mail->Username=C('MAIL_LOGINNAME');   
         $mail->Password=C('MAIL_PASSWORD');    
         // 发送邮件。   
         return($mail->Send());
    }
    ?>

    3、项目配置文件夹(Conf)下config.php里写入:

    <?php
    return array(
         //'配置项'=>'配置值'  
         'MAIL_ADDRESS'=>'1000@inrn.cn', // 邮箱地址
         'MAIL_SMTP'=>'smtp.inrn.cn', // 邮箱SMTP服务器
         'MAIL_LOGINNAME'=>'1000@inrn.cn', // 邮箱登录帐号
         'MAIL_PASSWORD'=>'521a3344', // 邮箱密码    
    );

    注意:MAIL_LOGINNAME一定要写成和邮箱地址一样的。 否则会出错(Could not authenticate.)

    4、在Action中使用下面代码发送邮件:

    SendMail($email,"邮件标题","邮件正文");