В Cakephp2 я хотел бы проверить электронные письма, хранящиеся в базе данных mysql, прежде чем отправлять электронное письмо многим участникам.
проблема в том, что приложение сталкивается с плохой электронной почтой => происходит сбой.
Я реализовал функцию проверки в контроллере, но плохие электронные письма не фильтруются и происходит сбой приложения.
Как мне сделать, чтобы отделить плохое письмо от остальных, чтобы приложение продолжало работу и отправляло все электронные письма с товарами без сбоев?
в конце концов, я буду хранить все электронные письма плохими в $ erreurs.
Эй ... Прежде чем писать здесь, я прочитал, поищу и попробую ......
Спасибо
Контроллер
/* $trouve=result of find (all)*/
$envoyes= 0;
$non_envoyes = 0;
foreach ($trouve as $k => $v)
{
if($this>VueAppliMouv>validates(array('fieldList'=>array('email'))))
{
/*i do my emailing=> it's working */
$send++;
}
else
{
$erreurs= $this->VueAppliMouv->validationErrors;
no_send++;
}
}
Модель
public $validate = array(
'email'=> array(
'rule'=>'email' ,
'required'=>false ,
'allowEmpty'=>false,
'message'=>"Indiquez un email valide"
)
); //fin validate
Просмотр
<h1> il y a eu <?=$envoyes ;?> mails envoyés</h1> <br>
<h1> il y a eu <?=$non_envoyes ;?> mails NON envoyés</h1> <br>
<?php
if (is_array($erreurs))
{
foreach ($erreurs as $key => $valeur)
{
echo "erreur" . $key . "" . $valeur."\n";
}
}
else
{
echo "$erreurs \n";
}
Я отправил 2 письма:
первое с плохим адресом, а второе с хорошим адресом.
даже хороший не пришел ...
Результат
Неверный адрес электронной почты: ошибка "rvagui @ gmail": произошла внутренняя ошибка.
Трассировка стека