Php Codeigniter发送google邮件错误

Php Codeigniter发送google邮件错误,php,codeigniter,email,ssl,Php,Codeigniter,Email,Ssl,我在主机Cpanel中使用codeigner。在本地,我可以通过谷歌帐户发送电子邮件,但在主机上,我会发现这是一个错误。 这是我的配置: $ci = get_instance(); $ci->load->library('email'); $config['protocol'] = "smtp"; $config['smtp_host'] = "ssl://smtp.gmail.com"; $config['smtp_port'] = 465; $config['smtp_

我在主机Cpanel中使用codeigner。在本地,我可以通过谷歌帐户发送电子邮件,但在主机上,我会发现这是一个错误。 这是我的配置:

$ci = get_instance();

$ci->load->library('email');

$config['protocol'] = "smtp";

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

$config['smtp_port'] = 465;

$config['smtp_user'] = "xxx@gmail.com"; 

$config['smtp_pass'] = "xxx";

$config['charset'] = "utf-8";

$config['mailtype'] = "html";
$config['newline'] = "\r\n";

$ci->email->initialize($config);
主机上已启用Openssl

这是错误警报:

.....
Message:  fsockopen() ...: unable to connect to ssl://smtp.gmail.com:465 
.....
请帮帮我! 抱歉,我的英语不好

#1请确保在Apache中打开或启用了ssl_模块,并在php.ini中打开或启用了允许url_fopen

$config = Array(
'protocol' => 'smtp',
'smtp_host' => 'ssl://smtp.googlemail.com',
'smtp_port' => 465,
'smtp_user' => 'xxx',
'smtp_pass' => 'xxx',
'mailtype'  => 'html', 
'charset'   => 'iso-8859-1'
);
$this->load->library('email', $config);
$this->email->set_newline("\r\n");

// Set to, from, message, etc.

$result = $this->email->send();
#2确保在gmail设置中启用了POP3

#3如果您在代理或启用防火墙的网络中工作;确保所需端口(465)已打开

试试这个自我测试的代码

$config['useragent']    = 'CodeIgniter';
$config['protocol']     = 'smtp';
$config['smtp_host']    = 'ssl://smtp.googlemail.com';
$config['smtp_user']    = '*****developer@gmail.com'; // Your gmail id
$config['smtp_pass']    = '**********'; // Your gmail Password
$config['smtp_port']    = 465;
$config['wordwrap']     = TRUE;    
$config['wrapchars']    = 76;
$config['mailtype']     = 'html';
$config['charset']      = 'iso-8859-1';
$config['validate']     = FALSE;
$config['priority']     = 3;
$config['newline']      = "\r\n";
$config['crlf']         = "\r\n";

$this->load->library('email');
$this->email->initialize($config);

$this->email->from('trimantradeveloper@gmail.com', 'TSS DEV');
$this->email->to('trimantra@trimantra.com'); 
$this->email->cc('trimantra@gmail.com'); 

$this->email->subject('Email Test');
$this->email->message('Testing the email class.');    

$this->email->send();

请确保服务器的apache已为ssl模块启用。这很可能是原因。或者您也可以采取其他方法。请检查删除google的smtp ssl方法。如果要这样做,请将smtp端口表单465更改为587

谢谢帮助!我会尝试这种方式,但它也不适合我。我在谷歌上搜索了很多,但没有一个解决方案