2017-02-09 167 views
4
$config = Array(
'protocol' => 'smtp', 
'smtp_host' => 'smtp.gmail.com', 
'smtp_port' => 465, 
'smtp_user' => '[email protected]', 
'smtp_pass' => 'XXXX', 
'mailtype' => 'html', 
'charset' => 'iso-8859-1' 
); 
$this->load->library('email', $config); 
$this->email->set_newline("\r\n"); 

$this->email->from('[email protected]', 'xxxx'); 
$this->email->to($email); 

$this->email->subject('Hi'); 
$this->email->message('Hi'); 

if($this->email->send()) 
{ 
echo 'Your email was sent.'; 
} 

else 
{ 
show_error($this->email->print_debugger()); 
} 

但它顯示錯誤消息:fsockopen():無法連接到smtp.gmail.com:465(連接被拒絕)。SMTP協議發送郵件不與codeigniter

我在這裏看到了解決方案Sending mail with CodeIgniter using SMTP protocol not working但它不工作,我無法找到php.ini。

+0

你在本地嘗試嗎? –

+0

在你的本地服務器上找到php.in安裝的驅動器/ php/php.ini或者你可以找到它進入我的電腦,然後在搜索框中按ctrl + f編寫php.ini並查看結果 –

+0

@parvez不,我不是在本地這就是爲什麼我的電腦無法找到它的主機。 –

回答

0

我使用這種方式,它爲我工作:

$config = array(
     'protocol' => 'smtps', 
     'smtp_host' => 'ssl://smtps.googlemail.com', 
     'smtp_user' => DONOT_EMAIL, 
     'smtp_pass' => EMAIL_PASSWORD, 
     'smtp_port' => '465', 
     'mailtype' => 'html', 
     'smtp_timeout' => '4', 
     'newline' => "\r\n" 
    ); 

此代碼我用於服務器端。 確保每次使用本地或服務器中的郵件功能。初始化如下:

$this->email->initialize($config);