Ваш конкретный запрос просто не может быть выполнен качественно. Даже если вам нужно было использовать отказные сообщения, чтобы определить, было ли сообщение успешно отправлено, отказ обычно приходит не сразу, а иногда может занять несколько часов, что означает, что вам действительно не следует пытаться делать это синхронно (т.е. , ожидайте, что метод, который отправил электронное письмо, выдаст исключение, если электронное письмо не было получено).
В зависимости от того, что вы хотите сделать, вы можете выполнить свое требование, выполняя это асинхронно. Например, я работал с клиентом, у которого было приложение со списком рассылки, и ему не нужно было обрабатывать его немедленно, если электронная почта отскочила. Им даже не нужно было знать это достоверно (то есть, если электронное письмо не получено, но оно не подпрыгивает, им было все равно). Им просто нужно было знать, что электронная почта недействительна, и отписаться от нее.
Это приложение используется LISTSERV. Отправленные электронные письма имеют собственный, уникальный заголовок Return-Path. После получения N отскоков от конкретного получателя электронная почта автоматически отписывается, а также удаляются все записи базы данных, связанные с получателем.
Я не уверен, есть ли простой способ реализовать это без LISTSERV, но вы можете посмотреть smtp2web .