Intereting Posts
Создание массива PHP из столбца MySQL Создайте массив с диапазоном MAC-адресов Подавление предупреждений PDO Невозможно переместить композитор Как хранить изображения в базе данных mysql с помощью php PHP array_key_exists и UTF 8 Проблема Xdebug и Netbeans ЛАМПА: Как создать .Zip больших файлов для пользователя «на лету», без разбиения диска / процессора Добавление, обновление и редактирование XML-файла с помощью PHP javascript автозаполнение текстовых входов на основе выпадающего выделения Модульные шаблоны проектирования для не-объектно-ориентированного кода? Использование PHP для поиска Юникода персонажа «Неустранимая ошибка: вызов неопределенного метода PHPUnit_Util_Filter :: addfiletofilter () в / usr / bin / phpunit в строке 48» Что не так с функцией imagecreatefromstring? Изменить регистр / Забыли пароль «ссылки на действия» URL-адреса, заголовки и изменить страницы ошибок. Тема Мой подключаемый модуль с плагином WordPress multisite

Не удалось отправить электронное письмо с помощью CodeIgniter

Я новичок в CI и PHP. В настоящее время я использую xammp для запуска PHP, Apache и MySql. Теперь я пытаюсь отправить электронное письмо с помощью CI. Но я постоянно получал ошибку, как показано ниже.

Возникла ошибка PHP

Уровень важности: предупреждение

Сообщение: fsockopen (): не удалось подключиться к ssl: //smtp.googlemail.com: 465 (попытка подключения не удалась, потому что связанная сторона не ответила должным образом через некоторое время или установив соединение не удалось, поскольку подключенный хост не смог отвечать. )

Имя файла: libraries / Email.php

Номер строки: 1689

У меня google около трех часов и до сих пор не найдено решение. Я уже включил ' openssl ' в Apache. Я хотел бы описать кодирование моего класса контроллера электронной почты.

// Код функции «Индекс» контроллера электронной почты

 $this->load->library('email'); $this->email->set_newline("\r\n"); $config['charset'] = 'utf-8'; $config['wordwrap'] = TRUE; $config['mailtype'] = 'html'; $config['protocol'] = 'smtp'; $config['smtp_port'] = 465; $config['smtp_host'] = 'ssl://smtp.googlemail.com'; $config['smtp_user'] = "something@gmail.com"; $config['smtp_pass'] = "xxx"; $this->email->initialize($config); $this->email->from('something@gmail.com', 'NayLinAung'); $this->email->to('something@gmail.com'); $this->email->subject('This is an email test'); $this->email->message("It is working, Great! You will be successful."); if ($this->email->send()) { echo "Email was successfully sent."; } else { show_error($this->email->print_debugger()); } 

Когда я изменяю «smtp» на «mail», ошибок не возникает, но письмо не отправляется. Кроме того, я отключил брандмауэр Windows.

Пожалуйста, предложите любые решения для этой ошибки.

Related of "Не удалось отправить электронное письмо с помощью CodeIgniter"

То, что я нашел ранее:

Чтобы использовать Google SMTP в CodeIgniter, вам необходимо внести 2 (два) изменения в свой аккаунт учетной записи Gmail: (NB. Имейте в виду, что злоумышленник теперь может взломать ваш аккаунт – Google)

  1. Установите двухэтапную аутентификацию .
  2. Разрешить менее безопасные приложения : ВКЛ (или Включить)

Теперь используйте 'smtp_host' как ssl://smtp.gmail.com вместо smtp.googlemail.com

Этот вопрос также обсуждался в этой ссылке .

Надеюсь, эта помощь.

если вы можете использовать try с этой библиотекой IMAP

Электронная библиотека Codeigniter

вы можете подключиться к этому коду

 $config['protocol'] = "imap"; $config['imap_host'] = 'xxx.xxx.xxx.xxx'; $config['imap_user'] = 'user@domain.com'; $config['imap_pass'] = 'Jk98S**Jlk'; $config['imap_port'] = '993'; $config['imap_mailbox'] = 'INBOX'; $config['imap_path'] = '/imap/ssl/novalidate-cert'; // use this string if you do not want use ssl $config['imap_server_encoding'] = 'utf-8'; $config['imap_attachemnt_dir'] = './tmp/'; $this->load->library('email', $config); $this->email->from($frommail); $this->email->to($tomail); $this->email->subject('Email Test'); $this->email->message('Testing the email class.'); $this->email->send(); echo $this->email->print_debugger(); 

вы также можете использовать SMTP, но если у вас есть разрешение, я советую вам использовать IMAP . он имеет больше функций и он новее, чем SMTP