我无法让cakephp 3发送电子邮件。在cakephp 2中我可以这样做没有问题。我正在使用最新的WAMP,和Windows 7上的cakephp3.3。我试图按照指示,但它看起来像我得到了一些基本的错误。我是否还需要配置Wamp,因为我检查了php.ini
-development文件,但没有smtp条目可以更改
错误- stream_socket_client():SSL操作失败,代码为1。OpenSSL错误消息:错误:14090086:SSL例程:SSL3_GET_SERVER_CERTIFICATE:证书验证失败stream_socket_client():无法启用加密流_socket_client():无法连接到ssl://smtp.gmail.com:465(未知错误)
controller
public function singleTutorEmail(){
$email = new Email();
$email->transport('gmail3');
$to='jjxxx@gmail.com';
$subject='testing';
$message='hello, dfsfsdfsdf sdfsdf';
$email->from(['jjxxx@gmail.com' => 'test'])
->to($to)
->subject( $subject)
->send($message);
}
in app.php
'EmailTransport' => [
'default' => [
'className' => 'Mail',
// The following keys are used in SMTP transports
'host' => 'localhost',
'port' => 465,
'timeout' => 30,
'username' => 'user',
'password' => 'secret',
'client' => null,
'tls' => null,
'url' => env('EMAIL_TRANSPORT_DEFAULT_URL', null),
],
'gmail3' => [
'className' => 'Smtp',
'host' => 'ssl://smtp.gmail.com',
'port' => 465,
'timeout' => 30,
'username' => 'jjxxx@gmail.com',
'password' => 'xxx',
'client' => null,
'context' => [
'ssl' => [
'verify_peer' => false,
'verify_peer_name' => false,
'allow_self_signed' => true
]
]
],
],
http://book.cakephp.org/3.0/en/core-libraries/email.html
Sending Mail using CakePHP 3.0
1条答案
按热度按时间9avjhtql1#
我在使用Cake\Network\Http\Client发出HTTPS请求时遇到了同样的问题
为了解决这个问题,我不得不从https://curl.se/ca/cacert.pem下载“cacert.pem”文件
然后我更新了php.ini,添加了以下行:
不要忘记重新启动Web服务器。如果以上操作不起作用,请尝试更新系统上安装的OpenSSL库。
我真的希望这对你也有用。