Как я могу получить список ошибок от phpmailer? - PullRequest
0 голосов
/ 27 февраля 2019

Я отправляю электронные письма через PHPMailer, и я обнаружил конкретный случай, когда адрес электронной почты является несуществующим адресом электронной почты, который принадлежит отправляющему шлюзу [ e.g - gateway email: 1234@1234.com and the email address 0000@1234.com], phpmailer возвращает следующую ошибку: «Адрес получателя отклонен, пользователь неизвестен втаблица виртуальных почтовых ящиков ".

Было бы замечательно, если бы там присутствовал код состояния (я хочу знать, является ли жесткий или мягкий отскок), а также я хочу знать, какие другие конкретныеслучаи могут возникнуть.

1 Ответ

0 голосов
/ 27 февраля 2019

SMTP-ошибки покрываются RFC5321 и соответствующими RFC, и вы можете увидеть там наиболее значимые коды ошибок.Когда вы получаете ошибку SMTP в PHPMailer, код ошибки SMTP помещается в свойство $error экземпляра SMTP, которое защищено, но вы можете получить его, используя getError().Из обычного PHP-кода это можно сделать с помощью:

$error = $mail->getSMTPInstance()->getError();

В результате получается такой массив:

[
    'error' => $message,
    'detail' => $detail,
    'smtp_code' => $smtp_code,
    'smtp_code_ex' => $smtp_code_ex,
]

Вещь, которая будет наиболее интересна для вас, это smtp_code element.

Обратите внимание, что это применимо только при отправке через SMTP;если вы отправляете через mail(), это не будет заполнено.

...