升级到php 7

时间:2016-02-22 19:35:20

标签: php nginx codeigniter-3

我在数字海洋nginx和php 7上运行codeigniter3.03。当我尝试发送电子邮件时,我收到此错误:

代码:

  

严重性:警告   消息:fsockopen():无法连接到ssl://smtp.googlemail.com:465(连接超时)   文件名:libraries / Email.php   行号:1986

我的电子邮件设置

$config['useragent'] = 'CodeIgniter';
$config['protocol'] = 'smtp';
//$config['mailpath'] = '/usr/sbin/sendmail';
$config['smtp_host'] = 'ssl://smtp.googlemail.com';
$config['smtp_user'] = 'xxxxxx@gmail.com';
$config['smtp_pass'] = 'xxxxxxxxxxxx';
$config['smtp_port'] = 465; 
$config['smtp_timeout'] = 5;
$config['wordwrap'] = TRUE;
$config['wrapchars'] = 76;
$config['mailtype'] = 'html';
$config['charset'] = 'utf-8';
$config['validate'] = FALSE;
$config['priority'] = 3;
$config['crlf'] = "\r\n";
$config['newline'] = "\r\n";
$config['bcc_batch_mode'] = FALSE;
$config['bcc_batch_size'] = 200;

这个版本在php 5.x下的同一个配置中运行完美。

在php.ini中我有

 extension=php_openssl.dll

启用。

我无法在任何地方得到任何暗示为什么这在php7中不起作用。任何人都可以给我一个提示要检查的内容或者这个错误的原因是什么。

1 个答案:

答案 0 :(得分:1)

您是否已尝试smtp.googlemail.com

另请注意另一个答案,附带一个工作示例(例如在超时定义中似乎有所不同):

另一种解决方案: