好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

怎么通过CakePHP内置模块发送邮件(Gmail)

本篇文章给大家介绍如何通过CakePHP内置模块发送邮件(Gmail),有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。

通过CakePHP内置模块发送邮件(Gmail) 效果 准备

<ProjectFolder>\config\app.php里加入以下配置(记得替换邮箱信息)

'EmailTransport' => [
   'default' => [
  'className' => 'Smtp',
  'host' => 'smtp.gmail测试数据',
  'port' => 587,
  'timeout' => 30,
  'username' => 'name@gmail测试数据',
  'password' => '12345678',
  'tls' => true,
  'url' => env('EMAIL_TRANSPORT_DEFAULT_URL', null),
   ],
    ],
'Email' => [
'default' => [
    'transport' => 'default',
    'from' => 'name@gamail测试数据',
    //'charset' => 'utf-8',
    //'headerCharset' => 'utf-8',
],
 ],

去任意Controller.php里,写发送邮件的函数。
*此处有参考stackoverflow

//在最上面加载模块
use Cake\Mailer\Email;

//在任意class下写邮件发送的函数
public function send()
    {
   $email = new Email('default');
   try {
  $email->setFrom(['name@gmail测试数据' => 'My Site'])
 ->setTo('接受者邮箱@126测试数据')
 ->setSubject('主题')
 ->send('本文');
  echo "success";
   } catch (\Cake\Network\Exception\SocketException $exception) {
  $lastResponse = $email->transport()->getLastResponse();
  var_dump($lastResponse);
   }
    }

在<ProjectName>\config\routes.php写好路由

$routes->connect('/send', ['controller' => 'ControllerName', 'action' => 'send']);
访问,测试

报错, 这是因为gmail的安全防护级别太高了。

登录到自己的google账号管理中心->安全性

关闭两步验证

开启访问权限

然后刷新页面,可以发现我们已经成功通过gmail发送邮件了。

为了账号安全,测试成功之后记得把安全防护级别调高。

推荐学习:《PHP视频教程》

以上就是怎么通过CakePHP内置模块发送邮件(Gmail)的详细内容!

查看更多关于怎么通过CakePHP内置模块发送邮件(Gmail)的详细内容...

  阅读:50次