@ Arazu Gajera
Электронные письма можно отправлять, когда они находятся на действующем сервере.
НО, если вы хотите установить рабочую функцию электронной почты на локальном хосте, вам нужно установить конфигурацию SMTP как показано ниже.
ПРИМЕЧАНИЕ: - Это просто базовая настройка для конфигурации SMTP.Различные библиотеки электронной почты могут иметь разный синтаксис.
//Load email Library
$this->load->library('email');
$email_config ['charset'] = 'utf-8';
$email_config ['mailtype'] = 'html';
$email_config ['newline'] = "\r\n";
if($_SERVER['HTTP_HOST']=="localhost")
{
//SMTP configuration
$email_config = array(
'smtp_host'=>'ssl://smtp.gmail.com';
'smtp_user'=>'arazugajera98@gmail.com',
'smtp_pass'=>'*******',
'smtp_port'=>465;
'protocol' =>'smtp',
);
}
, поэтому $email_config ['charset'] = 'utf-8';
, $email_config ['mailtype'] = 'html';
, $email_config ['newline'] = "\r\n";
являются ОБЩИМИ переменными конфигурации электронной почты, используемыми как на локальном хосте, так и на Live-сервере.
И когда это localhost, функция электронной почты будет использовать // конфигурацию SMTP * массив 1021 *.
ПРИМЕЧАНИЕ: - Обратите внимание, что когда ваш сайт LIVE Server . Рекомендуется удалить это if($_SERVER['HTTP_HOST']=="localhost")
условие электронной почты из всех файлов, где бы вы его не использовали.
РЕДАКТИРОВАТЬ: - (ВАЖНО) Пожалуйста, измените строку ниже
//$this->email->set_newline('\r\n');
$this->email->set_newline("\r\n"); //Use double quotes for \r\n
Потому что \ n означает новую строку только в двойных кавычках.В одинарных кавычках это означает буквальные символы \ n.