Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/266.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何解决错误:消息:fsockopen():无法连接到ssl://smtp.gmail.com:465 (连接被拒绝)_Php_Codeigniter_Email_Ssl - Fatal编程技术网

Php 如何解决错误:消息:fsockopen():无法连接到ssl://smtp.gmail.com:465 (连接被拒绝)

Php 如何解决错误:消息:fsockopen():无法连接到ssl://smtp.gmail.com:465 (连接被拒绝),php,codeigniter,email,ssl,Php,Codeigniter,Email,Ssl,我正在使用codeigniter我创建了一个电子邮件功能来向特定的电子邮件ID发送电子邮件 public function email($email){ $config['protocol'] = 'smtp'; $config['smtp_host'] = 'ssl://smtp.gmail.com'; $config['smtp_timeout']=5; $config['smtp_port'] = '465';

我正在使用codeigniter我创建了一个电子邮件功能来向特定的电子邮件ID发送电子邮件

public function email($email){
        $config['protocol'] = 'smtp';
        $config['smtp_host'] = 'ssl://smtp.gmail.com';
        $config['smtp_timeout']=5;
        $config['smtp_port'] = '465';
        $config['smtp_user'] = 'MyEmailID@gmail.com';
        $config['smtp_pass'] = '********************';
        $config['mailtype'] = 'html';
        $config['charset'] = 'utf-8';
        $config['newline'] = "\r\n";
        $config['wordwrap'] = TRUE;
        $this->load->library('email');
        $this->email->initialize($config);

        $this->email->from('MyEmailID@gmail.com', 'MyEmailID');
        $this->email->to($email);
        $this->email->subject('My Subject');
        $this->email->message('My Message');
        return $this->email->send();
    }
这在我的本地机器上运行得很好,但是当我将代码上传到托管服务器时(我使用的是Godaddy托管),我得到了以下错误:

遇到一个PHP错误

严重性:警告

消息:fsockopen():无法连接到ssl://smtp.gmail.com:465 (连接被拒绝)

文件名:libraries/Email.php

线路编号:2020

回溯:

文件:/home/MyDir/public\u html/application/models/BasicModel.php 行:47功能:发送

文件:/home/MyDir/public\u html/application/controllers/Login.php 行:48功能:电子邮件

文件:/home/MyDir/public_html/index.php行:315函数: 需要一次


您忘记添加“

 $config['smtp_host'] = 'ssl://smtp.gmail.com';


取消php.ini中php_openssl.dll的注释

使用ssl的Tls istead并将端口号更改为587 $this->email->initialize($config); $config=array()

更改自:

$config['smtp_host'] = 'smtp.seuDominio.com';
$config['protocol']  = 'smtp'; 
致:

更改为:

$config['smtp_host'] = 'smtp.seuDominio.com';
$config['protocol']  = 'smtp'; 
致:


尝试ssl://smtp.googlemail.comabove 代码正在使用我的本地主机,但不使用我的主机:(你找到解决方案了吗?这里有相同的问题:/这不是我的代码中的错误,我在键入问题时意外地犯了这个错误..我使用的是godaddy主机,那么我应该在哪里找到php.ini?你对第一个解决方案有什么意见吗?参考如何在godaddy服务器上创建php.ini让我们来看看。
$config['protocol']  = 'smtp'; 
$config['protocol']  = 'mail';
$config['validate']  = TRUE;
$config['mailtype']  = 'html';
$config['charset']   = 'utf-8';
$config['newline']   = "\r\n";