CakePHP2.x 发送邮件

cake提供了多种发送邮件的方法,并且简单实用。以2.x为例

第一步

创建并添加邮件配置信息

拷贝app\Config\email.php.default 为email.php

打开在EmailConfig类里面添加配置信息。

    public $mail_126 = array(
        'transport' => 'Smtp',
        'from' => array('xxx@126.com' => '发件人'),
        'host' => 'smtp.126.com',
        'port' => 25,
        'timeout' => 30,
        'username' => 'xxx@126.com',
        'password' => '123456',
        'client' => null,
        'log' => false,
        //'charset' => 'utf-8',
        //'headerCharset' => 'utf-8',
    );

红字代表需要你自己改动的地方,按实际的内容填。

Gmail的配置信息

    public $gmail = array(
        'transport' => 'Smtp',
        'from' => array('mafei7776@gmail.com' => '发件人'),
        'host' => 'smtp.gmail.com',
        'port' => 465,
        'username' => 'mafei7776@gmail.com',
        'password' => 'password',       
        'tls' => true
    );

 

第二步

控制器中添加一个发送邮件的方法,先用App::uses('CakeEmail', 'Network/Email');把发送邮件类加载进来。

    public function send(){
        App::uses('CakeEmail', 'Network/Email');
        //$Email = new CakeEmail();
        //$Email->config('mail_126');
        //等价于
        $Email = new CakeEmail('mail_126');
        $Email->to('xxx@qq.com');
        $Email->subject('主题');
        $Email->send('邮件内容');
    }

执行这个方法就行了。

CakePHP还带有发送附件,发送html模版内容等功能。

posted @ 2013-08-23 15:16  飞凡123  阅读(635)  评论(0编辑  收藏  举报