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模版内容等功能。