cakephp中用内置邮件组件发送Gmail邮件

这几天在家用cakephp框架写东西,然后项目里需要用到发送邮件的功能,看了下cakephp2.x的参考手册里没有找到整合phpmailer的,但是因为cakephp本身也是内置了email组件的,所以暂时一个小项目,用内置的email组件来发送邮件也没有什么问题的,下面简单记录一下过程,以及其中可能遇到的问题,仅供参考,如果按照该教程使用了之后还是不行,那么我建议你继续看cakephp的手册。。。

我们这里总结的跟手册上略有出入,但其实差别不是特别大,就是个先后顺序,以及,你当前的环境是开发还是生产。

首先,你得在app/Config/目录下,新建一个email.php,只需要拷贝一下email.php.default,然后更改一下文件名即可。

然后在email.php文件中,添加一个gmail的数组,代码如下:

public $gmail = array(
		'transport' => 'Smtp',
		'from' => array('用户名@gmail.com' => 'My Site'),
		'host' => 'ssl://smtp.gmail.com',
		'port' => 465,
		'timeout' => 30,
		'username' => '用户名@gmail.com',
		'password' => '密码',
		'client' => null,
		'log' => true,
		//'charset' => 'utf-8',
		//'headerCharset' => 'utf-8',
	);
这样儿,我们就配置好了我们的gmail邮箱的各个选项,需要注意的是,gmail要求ssl,所以一定确保你的php编译了openssl模块,如果是在win下的话,基本上只需要你在php.ini文件中,找到extension=php_openssl.dll这一行,去掉前面的分号,取消注释即可。

接下来,在app/Controller/你的controlle.php文件中,加入如下的一个发送邮件的方法,这里我们简单的测试一个即可:

public function send_email()
	{
		App::uses('CakeEmail','Network/Email');
		$Email = new CakeEmail('gmail');
		$Email->from(array('发件人邮箱地址' => '邮件发送人'))
			->to('收件人邮箱地址')
			->subject('邮件主题')
			->send('邮件内容');
	}
然后,在app/View/你的View下创建一个send_email.ctp,随便写点儿啥,echo一个'您的邮件已经发送了',因为本身这个也是打算写在后台发送的。

接下来我们在浏览器里输入localhost/网站名/Users/send_email,然后敲击回车,单封邮件的发送速度还是不错的,具体取决于网速,大家可以去试验一下,欢迎交流。


2013年10月5日,Eirc.Tang 记



  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值