我无法通过以下配置发送电子邮件。
$config = array();
$config['protocol'] = 'smtp';
$config['mailtype'] = 'text';
$config['charset']='utf-8';
$config['crlf']="\r\n";
$config['newline']="\r\n";
$config['priority']=3;
$config['smtp_host'] = 'smtp.office365.com';
$config['smtp_port']=587;
$config['smtp_crypto']="tls";
$config['smtp_user'] = '************';
$config['smtp_pass'] = '************';
$config['smtp_timeout'] = 120;
$this->email->initialize($config);
$this->email->set_newline("\r\n");
我查了数百万篇博文和文章。 相同的配置在生产中正常工作,但在暂存环境中没有。
生成以下错误:
消息:stream_socket_enable_crypto():SSL:握手超时
答案 0 :(得分:0)
您是否检查过在php.ini
?
如果没有,请检查以下几点。
php.ini
文件;extension=php_openssl.dll
;
char。然后检查。这可能会对你有帮助。
答案 1 :(得分:0)
从下面的代码片段中可以看出,选择电子邮件协议是设置单个配置变量的问题。在此代码段中,我已将$ config ['protocol']设置为smtp以使用SMTP协议。
<?php
$this->load->library('email');
$config = array();
$config['protocol'] = 'smtp';
$config['smtp_host'] = 'xxx';
$config['smtp_user'] = 'xxx';
$config['smtp_pass'] = 'xxx';
$config['smtp_port'] = 25;
$this->email->initialize($config);
$this->email->set_newline("\r\n");
向CodeIgniter应用程序添加电子邮件功能只需使用电子邮件库。https://www.cloudways.com/blog/send-email-codeigniter-smtp/
答案 2 :(得分:0)
$config['smtp_host'] = 'smtp.office365.com';
更改为
$config['smtp_host'] = 'ssl://office365.com';