2016-10-07 3 views
0

Я использую CodeIgniter с его библиотекой по умолчанию. И всякий раз, когда я отправляю электронное письмо, он отправляет его дважды. У кого-нибудь есть какие-то отладочные указатели или подсказки для решения этой проблемы?CodeIgniter отправить несколько адресов электронной почты

$this->CI->email->from($this->from, $this->company_name); 
$this->CI->email->to($this->to); 
$this->CI->email->subject($this->subject); 

eval("\$message = \"".$this->message."\";"); 

$this->CI->email->message($this->message); 

if($attachment != "") 
{ 
    $attac_exp=explode(",",$attachment); 

    foreach($attac_exp as $key=>$value) 
    { 
     if($value != '') 
     { 
      $this->CI->email->attach(getcwd()."/attachments/".$value);     
     } 
    } 
} 

$this->CI->email->send(); 
$this->CI->email->clear(true); 

Я настроил sendmail с SMTP на данный момент.

Если я попытаюсь отправить электронное письмо с помощью командной строки, я получаю только одно электронное письмо. Насколько мне известно, проблема должна быть с CodeIgniter. Я уже сделал это на этом.

+0

У меня была аналогичная проблема в рамке фалькона, для тела моего сообщения мне приходилось вводить ob_start() и ob_clean и ясное сообщение ... В кодеинитрейте есть что-то подобное: send ([$ auto_clear = TRUE]), возможно, это помогло бы –

+0

Спасибо Денису, за ответ да, я вижу, что и я уже поместил это в свой код, но все же как-то не работал на меня –

+0

показать код вашего контроллера или код модели, на который вы отправляете это письмо, потому что Я думаю, что вы дважды вызываете эту функцию ... – sintakonte

ответ

0

Ниже приведен пример фрагмента, который отлично работает с прикреплением одного файла в электронном письме. Пожалуйста, обратитесь и исправьте соответственно.

 $config = array(); 
     $config['useragent'] = "CodeIgniter"; 
     $config['mailpath'] = "/usr/bin/sendmail"; // or "/usr/sbin/sendmail" 
     $config['protocol'] = "smtp"; 
     $config['smtp_host'] = "localhost"; 
     $config['smtp_port'] = "25"; 
     $config['mailtype'] = 'html'; 
     $config['charset'] = 'utf-8'; 
     $config['newline'] = "\r\n"; 
     $config['wordwrap'] = TRUE; 
     $dummyfrom='[email protected]'; 
     $system_name = "Test Company"; 
     $from = '[email protected]'; 
     $to ='[email protected]'; 
     $bcc = '[email protected]';$sub="Attachment Test"; 
     $msg = "Please ignore this mail"; 
     $this->load->library('email'); 
     $this->email->initialize($config); 
     $this->email->from($dummyfrom, $system_name); 
     $this->email->reply_to($from); 
     $this->email->to($to); 
     $this->email->bcc($bcc); 
     $this->email->subject($sub); 
     $this->email->message($msg); 
     $this->email->attach(APPPATH.'test.txt'); 
     $this->email->send(); 

Обратите внимание, что он выбирает файл test.txt от пути приложения. Вы можете использовать $this->email->print_debugger() для просмотра отладки.

+0

Спасибо, Раджеш, но это не работает для меня. –

+0

Ankit, этот же код также отправляет его дважды? вы можете применить его в другой функции и проверить. С этим вы уверены, что его не codeigniter, который отправляет дважды, но программная логика где-то не так. – Rajesh

Смежные вопросы