Я пытаюсь создать приложение, в котором одной из функций является отправка электронной почты на несколько адресов, и это было нелегко. Я использовал цикл foreach, но всякий раз, когда возникает ошибка, особенно если почтовый адрес получателя недействителен, приложение останавливается.
Это мой код
public function sendemails(Request $request){
$email = $this->emailSetUp($request);
$emails = $email->recipients;
foreach ($emails as $value) {
try{
$mail = Mail::to($value)->send(new SendEmail($email));
}catch( \Swift_RfcComplianceException $e){
$pattern = '/[a-z0-9_\-\+\.]+@[a-z0-9\-]+\.([a-z]{2,4})(?:\.[a-z]{2})?/i';
preg_match_all($pattern, $e, $matches);
$match = implode(',',$matches[0]);
$mail_t_del = Email::where('email','LIKE', '%'.$match)->first();
$mail_t_del->delete();
Log::info($match .' '. 'deleted');
$email = $this->emailSetUp($request);
$mail = Mail::send(new SendEmail($email));
}
}
}
Как я могу
- Отправьте сообщение нескольким получателям, а также сделайте его стойким к отказу, продолжая после создания исключения.
- Как я могу отслеживать ход выполнения приложения, т. Е. Знать электронные письма, которые были отправлены, и информацию о них, которая была отклонена.