Как узнать, отправляется или не отправляется почта в laravel и какой получатель ее не получает?

#laravel

#laravel

Вопрос:

Привет, я использую нижеприведенную функцию, не могли бы вы, пожалуйста, подсказать мне, как я могу использовать Mail:: failures(); в ней

 Mail::send('emails.caregiversetprimary', $templateArray, function($message)use($email)
{
    $message->to($email, 'username')->subject('my subject');
});


Mail::failures(); < ====== this gives me black array as I have used wrong email
  

Я использую laravel 4.1

Ответ №1:

tl; dr

Вы можете знать, каким получателям было отправлено электронное письмо, но не знаете, какие получатели его получили.

подробности Вам нужно лучше понимать, как работают почтовые серверы. С точки зрения Laravel, нет способа (или, по крайней мере, не простого *) узнать, какие получатели получили электронное письмо. Это зависит от того, как работает почтовый протокол. Вы можете знать, каким получателям было отправлено сообщение, но не знаете, какие получатели на самом деле его получили.

С помощью Mail::failures() вы получаете список получателей, которым Laravel пытался отправить электронное письмо, но при фактической отправке это не удалось. Но опять же, если оно было отправлено, нет простого способа узнать, дошло ли письмо до их почтового ящика или нет.

* Если вам довелось использовать Mailgun, Mandrill или любое другое программное обеспечение сторонних производителей, то вы имеете дело не с почтовым сервером «как таковым», а со службой API. Возможно, вы могли бы проверить документацию поставщика почтовых услуг, чтобы выяснить, выполняют ли они какое-либо отслеживание доставки, которое вы можете проверить программно.

Комментарии:

1. хорошо, могу ли я проверить, что почта отправляется или нет, как обычная почтовая функция php if ($mail == true) { } .. что-то вроде этого, потому что в вышеупомянутой функции это мне ничего не дает