2016-12-12 5 views
2

я пытаюсь отправить SMTP электронной почты с помощью CodeIgniter, но им получать сообщение об ошибке в ответ ... "Следующая ошибка SMTP встречалось: 0 Невозможно отправить электронную почту, используя PHP SMTP. сервер не может быть настроен для отправки почты с помощью этого метода. "SMTP почты ошибка в CodeIgniter: Сервер не может быть настроен для отправки почты

User-Agent: CodeIgniter 
Date: Tue, 13 Dec 2016 07:06:56 +0000 
From: "Blabla" <xxxxxxxxxxxxxx> 
Return-Path: <xxxxxxxxxxxxxxxxxxx> 
To: xxxxxxxxxxxx 
Reply-To: "Explendid Videos" <xxxxxxxxxxxxxxxxxx> 
Subject: =?utf-8?Q?=54=68=69=73=20=69=73=20=61=6E=20=65=6D=61=69=6C=20=74=65=73=74?= 
X-Sender: [email protected] 
X-Mailer: CodeIgniter 
X-Priority: 3 (Normal) 
Message-ID: <[email protected]> 
Mime-Version: 1.0 


Content-Type: multipart/alternative; boundary="B_ALT_584f9e1023f99" 

This is a multi-part message in MIME format. 
Your email application may not support this format. 

--B_ALT_584f9e1023f99 
Content-Type: text/plain; charset=utf-8 
Content-Transfer-Encoding: 8bit 

It is working. Great! 


--B_ALT_584f9e1023f99 
Content-Type: text/html; charset=utf-8 
Content-Transfer-Encoding: quoted-printable 

It is working. Great! 

--B_ALT_584f9e1023f99-- 

кодекс

$ci = get_instance(); 
     $ci->load->library('email'); 
     $config = array(); 
     $config['protocol'] = "smtp"; 
     $config['smtp_host'] = "xxxxx"; 
     $config['smtp_port'] = 25; 
     $config['smtp_user'] = "xxxxx"; 
     $config['smtp_pass'] = "xxxxx"; 
     $config['charset'] = "utf-8"; 
     $config['mailtype'] = "html"; 
     $config['newline'] = "\r\n"; 

     $ci->email->initialize($config); 

     $ci->email->from('xxxxx', 'Blabla'); 
     $list = array('xxxxx'); 
     $ci->email->to($list); 
     $this->email->reply_to('xxxxx', 'Explendid Videos'); 
     $ci->email->subject('This is an email test'); 
     $ci->email->message('It is working. Great!'); 
     if($ci->email->send()){echo "send";}else{echo "error ";print_r($ci->email->print_debugger());} 

+0

используйте '$ this-> ci' вместо' $ ci'. –

+0

Я бы поставил этот $ this-> ci = get_instance(); в области __construct() библиотеки – user4419336

+0

Для получения smtp-информации о сервере вам необходимо установить у поставщика услуг. Кроме того, если вы используете gmail для отправки электронной почты из своего приложения, вам необходимо активировать smtp-письма из настроек gmail. Еще раз, если вы загрузили приложение на свой сервер, тогда вам не нужно использовать протокол '' 'smtp''', вместо этого используйте' '' sendmail''''. – kishor10d

ответ

0

Мне кажется, вам нужно загрузить библиотеку электронной почты в конструкторе, например $ this-> load-> helper (array ('email')); $ this-> load-> library (array ('email'));

<?php 
defined('BASEPATH') OR exit('No direct script access allowed'); 
class Dispatch extends MY_Controller 
{ 

     function __construct() { 
         parent::__construct(); 
         $this->load->helper('url'); 
         $this->load->helper(array('form', 'url')); 
         $this->load->library('form_validation'); 
         $this->load->library('session'); 
         $this->load->helper(array('email')); 
         $this->load->library(array('email')); 

     } 

public function sendEmail() 
    { 
$config = array(
    'protocol' => 'smtp', 
    'smtp_host' => 'smtp.googlemail.com', 
    'smtp_port' => '587', 
    'smtp_user' => '[email protected]', 
    'smtp_pass' => 'XXXXXXX', 
    'mailtype' => 'html', 
    'charset' => 'iso-8859-1' 
); 
$this->load->library('email', $config); 
$this->email->set_newline("\r\n"); 
$this->email->set_mailtype("html"); 
$message2 = ' 
    <html> 
     <head> 
      <title>Dispatch</title> 
     </head> 
     <body> 






     Test Mail 




     </body> 
    </html> 
    '; 
     $subject="Test Email"; 
     $message=$message2; 
      $this->email->from('[email protected]'); 
      $this->email->to([email protected]); 
      $this->email->subject($subject); 
      $this->email->message($message); 
      if($this->email->send()) 
     { 
       echo "<script type='text/javascript'>alert('Email Send Success');</script>"; 
       redirect('/Dispatch/', 'refresh'); 
     } 
     else 
     { 
     show_error($this->email->print_debugger()); 
     } 

    } 

} 

?> 

Я также faceing та же проблема, но когда я пытаюсь загрузить библиотеку в конструктор электронной почты отправить success.this работа для меня надеюсь, это поможет вам тоже.