Протокол SMTP для отправки почты не работает с codeigniter

$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 (отказано в соединении).

Я видел решение здесь Отправка почты с помощью CodeIgniter с использованием протокола SMTP не работает, но не работает, и я не могу найти php.ini.


person Shaleen Jain    schedule 09.02.2017    source источник
comment
вы пытаетесь это локально?   -  person Parvez Ahmed    schedule 09.02.2017
comment
найдите php.in на вашем локальном сервере, установленном диске / php / php.ini, или вы можете найти его, введите мой компьютер и нажмите ctrl + f в поле поиска, напишите php.ini и посмотрите результат   -  person Parvez Ahmed    schedule 09.02.2017
comment
@parvez Нет, я не делаю этого на локальном хосте, поэтому не могу найти его на своем компьютере.   -  person Shaleen Jain    schedule 09.02.2017
comment
хорошо, тогда вы можете связаться с администратором сервера, вы не можете найти php.ini   -  person Parvez Ahmed    schedule 09.02.2017
comment
@Parvez Я нашел его, но это файл только для чтения. --р--р--р. У меня нет доступа к нему с правами суперпользователя.   -  person Shaleen Jain    schedule 10.02.2017
comment
я знаю, что вы не можете изменить этот файл, поэтому я сказал, свяжитесь с администратором сервера   -  person Parvez Ahmed    schedule 10.02.2017


Ответы (1)


Я использую этот способ, и он работает для меня:

$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);
person Chaitanya Desai    schedule 01.01.2018