Как отправить письмо с codeigniter в linux localhost - PullRequest
0 голосов
/ 01 октября 2018

У меня есть следующий файл email.php:

<?php
$config['charset'] = 'utf-8';
$config['mailtype'] = 'html';
$config['newline'] = "rn";
?>

И в контроллере у меня есть следующее:

$this->load->library('email');
$this->email->from('agro@agro.com', 'Agro');
$this->email->to($Nom_usu);
$this->email->subject('Confirmar registro');
$this->email->message('<a href="'.base_url().'Cregistro/confirm/'.$Nom_usu.'">Click Aqui</a>');
$this->email->send();

Однако, когда я пытаюсь отправить электронное письмо, яполучите следующий ответ:

string(992) "Unable to send email using PHP mail(). Your server might not be configured to send mail using this method.
User-Agent: CodeIgniter
Date: Mon, 1 Oct 2018 00:33:26 -0400
From: "Agro" <agro@agro.com>
Return-Path: <agro@agro.com>
Reply-To: <agro@agro.com>
X-Sender: agro@agro.com
X-Mailer: CodeIgniter
X-Priority: 3 (Normal)
Message-ID: <5bb1a396c22bb@agro.com>
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary="B_ALT_5bb1a396c22cb"
=?UTF-8?Q?Confirmar=20registro?=
This is a multi-part message in MIME format.
Your email application may not support this format.

--B_ALT_5bb1a396c22cb
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Click Aqui


--B_ALT_5bb1a396c22cb
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

=3Ca href=3D=22http://localhost/WebAgro2/Cregistro/confirm/juan.rodriguez=
=40ideasfractal.com=22=3EClick Aqui=3C/a=3E

--B_ALT_5bb1a396c22cb--
"

Я следил за многими постами с подобной проблемой, но, похоже, ничего не работает.Я использую localhost в Linux.

Любая помощь приветствуется!

Ответы [ 2 ]

0 голосов
/ 01 октября 2018

Убедитесь, что вы установили как минимум эти четыре параметра конфигурации в вашей конфигурации email.php file

$config['protocol'] = 'sendmail';
$config['mailtype'] = 'html';
$config['charset'] = 'utf-8';
$config['wordwrap'] = TRUE;
0 голосов
/ 01 октября 2018

есть 2 способа проверить электронную почту на локальном хосте: один mailcatcher вам нужно установить mailcatcher на вашем компьютере разработчика, супер простой SMTP-сервер, другой - mailtrap я предпочитаю mailtrap, не нужноустановите что-нибудь, создайте учетную запись на mailtrap, и вы готовы проверять свою электронную почту на localhost. После входа в систему вы можете получить настройки своей учетной записи из mailtrap

$config['charset'] = 'utf-8';
$config['mailtype'] = 'html';
$config['newline'] = "rn";

if(ENVIRONMENT == 'development'){

$dev_config = Array(
  'protocol' => 'smtp',
  'smtp_host' => 'smtp.mailtrap.io',
  'smtp_port' => 2525,
  'smtp_user' => 'smtp_user_from_your_mailtrap',
  'smtp_pass' => 'smtp_pass_from_your_mailtrap',
  'crlf' => "\r\n",
  'newline' => "\r\n"
);

$config = array_merge($config, $dev_config);

}
$this->email->initialize($config);

и счастливого локального тестирования электронной почты.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...