#codeigniter
#codeigniter
Вопрос:
Я использую фреймворк codeigniter. Я написал код для отправки таких писем:
$this->emailcomm->sendemail($data) ;
но он находится в цикле. Он работает только один раз. Он не возвращает никакого ответа после отправки электронного письма.
Я пробовал, как показано ниже:
for($i=0; $i<count($keyarray);$i )
{
$data=array(
'to' => $keyarray[$i],
'from' => 'test' ,
subject' => 'test Order',
'message' => ('Please see attached sales order placed ),
'attach' =>$array[$keyarray[$i]]['pdf']
);
$this->emailcomm->sendhtml_email($data);
}
в библиотеке emailcomm я написал, как показано ниже:
function sendhtml_email($info)
{
$this->CI->email->clear();
$this->CI->email->from('reports@gmail.com','Test Reports');
$this->CI->email->to($this->to);
$this->CI->email->subject($this->subject);
$this->CI->email->message($this->message);
$this->CI->email->attach($path.$this->attach,'attachment');
if($this->CI->email->send())
{
$this->CI->email->clear(TRUE);
return 1;
}
}
Он отправляет электронное письмо только один раз. Мне нужно, чтобы он запускался сколько раз в цикле. И он не выдает никаких выходных данных, подобных приведенному выше возвращению 1 после отправки электронного письма. Пожалуйста, посоветуйте мне.
Комментарии:
1. Вы должны получить ошибку в своем цикле для этого кода: ‘message’ => (‘Пожалуйста, смотрите прикрепленный заказ на продажу)
2. Это образец. Он работает для первого электронного письма. он останавливается только при первом сообщении электронной почты. это не переход к следующему электронному письму в цикле.
Ответ №1:
Пожалуйста, попробуйте это:
for($i=0; $i<count($keyarray);$i )
{
$data=array(
'to' => $keyarray[$i],
'from' => 'test' ,
subject' => 'test Order',
'message' => '(Please see attached sales order placed )',
'attach' =>$array[$keyarray[$i]]['pdf']
);
$this->emailcomm->sendhtml_email($data);
}
В библиотеке emailcomm я написал, как показано ниже:
public function sendhtml_email($info)
{
$this->CI->load->library('email');
//$this->CI->email->clear(); //No Need
$this->CI->email->from('reports@gmail.com','Test Reports');
$this->CI->email->to($this->to);
$this->CI->email->subject($this->subject);
$this->CI->email->message($this->message);
$this->CI->email->attach($path.$this->attach,'attachment');
if($this->CI->email->send())
{
/*$this->CI->email->clear(TRUE);
return 1;*/ //No need
}
}
Ref:
https://www.codeigniter.com/user_guide/libraries/email.html
Комментарии:
1. я добавил библиотеку в свой контроллер и также попробовал без операторов возврата. но он не работает.
2. В функции, пожалуйста, проверьте info param идет или нет?
3. Он приходит, но только один раз. Если мы разместим оператор return перед функцией отправки, он вернет 2 значения и 2 значения электронной почты.
4. затем вам нужно вызвать по ссылке. Вам нужно передать ссылку в param