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()
, это не будет заполнено.