2017-02-09 11 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);