отправка электронной почты с использованием класса электронной почты codeigniter

у меня возникла ошибка при попытке отправить электронное письмо с помощью класса электронной почты codeigniter.

У меня ошибка: Не удалось подключиться к почтовому серверу через порт 25 «localhost», проверьте настройки «SMTP» и «smtp_port» в php.ini или используйте ini_set().

Как я могу проверить отправку электронной почты в codeigniter? Я также использую локальный хост. Эта проблема возникает только тогда, когда я использую localhost?

Вот мой код:

public function emailme() {
        $this->load->library('email');
        $message = $this->input->post('email_msg');
        $this->email->from('[email protected]', 'John');
        $this->email->to('[email protected]');
        $this->email->subject('Email Test');
        $this->email->message($message);
        $this->email->send();
    }

person Jc John    schedule 04.07.2017    source источник
comment
codexworld.com/how-to-send-email -from-localhost-in-php   -  person dhruv jadia    schedule 04.07.2017
comment
@dhruvjadia спасибо за ваш ответ, я хочу использовать класс электронной почты библиотеки codeigniter. Есть ли неправильный метод в моем коде?   -  person Jc John    schedule 04.07.2017


Ответы (2)


Конфигурация в sendmail.ini

путь c:\xampp\sendmail\sendmail.ini

Конфигурации

[sendmail]

smtp_server=smtp.gmail.com
smtp_port=25
error_logfile=error.log
debug_logfile=debug.log
[email protected]
auth_password=yourgmailpassword
[email protected]

в php.ini

путьc:\xampp\xampp\php\php.ini

[mail function]
sendmail_path = "\"C:\xampp\sendmail\sendmail.exe\" -t"

тогда

$config = Array(
'protocol' => 'smtp',
'smtp_host' => 'ssl://smtp.googlemail.com',
'smtp_port' => 465,
'smtp_user' => '[email protected]',// your mail name
'smtp_pass' => '*****',
'mailtype'  => 'html', 
'charset'   => 'iso-8859-1'
 'wordwrap' => TRUE
);

$this->load->library('email', $config);

Настройки почты в XAMPP (важно)

$this->email->from('[email protected]', 'myname');//your mail address and name
$this->email->to('[email protected]'); //receiver mail

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

$this->email->send(); //sending mail
person dhruv jadia    schedule 04.07.2017
comment
я попробую ваш ответ, сэр, и отвечу немедленно - person Jc John; 04.07.2017
comment
также измените настройки в своем gmail на Разрешить менее безопасным приложениям доступ к вашей учетной записи - person Keith Asilom; 05.07.2017

Используйте это перед скриптом отправки почты

// Please specify your Mail Server - Example: mail.yourdomain.com.
ini_set("SMTP","mail.YourDomain.com");

// Please specify an SMTP Number 25 and 8889 are valid SMTP Ports.
ini_set("smtp_port","25");

// Please specify the return address to use
ini_set('sendmail_from', '[email protected]');
person Bagaskara    schedule 19.02.2020
comment
Интересный! это сохраняет оригинальность php.ini, а не изменяет его каждый раз - person Abdulaziz Hamdan; 07.04.2020