Forums / National / Russian / Тех. поддержка / cot_mail() возвращает true, даже если PHP mail() вернула false

cot_mail() возвращает true, даже если PHP mail() вернула false

prostogorod
#48665 2026-10-10 08:07

При проверке уведомлений о заявках столкнулся с тем, что cot_mail() сообщала об успешной отправке, хотя письма не приходили.

Первоначальная проблема доставки была связана с настройками отправителя и проверкой DMARC. После настройки отправка заработала. Но при разборе обнаружилась отдельная проблема в коде cot_mail(), которая не зависит от хостинга: результат вызова PHP mail() игнорируется, а в конце функция безусловно возвращает true.

Предлагаю сохранять результат обоих вызовов:

$ret = mail(...);

И в конце возвращать:

return (bool) $ret;

Это позволит вызывающему коду отличать отказ PHP mail() от принятия письма почтовым транспортом.

При этом true по-прежнему не означает доставку адресату: письмо может быть принято транспортом, а затем отклонено сервером получателя. Предлагаемое изменение касается только корректной передачи результата mail().

Есть ли причина для текущего безусловного return true, или такую правку можно включить в ядро?