Как уже писал, входящие ордера у меня идут на псевдо-email. Exim отправляет поток в скрипт и передаёт письмо дальше на реально существующий email.
Получается, что данные и в базу автоматом заносятся, и письмо я получаю о приходе ордера.
И вот оно “поломалось”…
То есть с моей стороны всё работало, как надо, а вот отправителю от сервера приходил привет вида:
SUBJ: Mail delivery failed: returning message to sender BODY: A message that you sent could not be delivered to one or more of its recipients. This is a permanent error. The following address(es) failed: pipe to |/var/www/scrpts/gvmmny.php generated by [email protected] The following text was generated during the delivery attempt: ------ pipe to |/var/www/scrpts/gvmmny.php generated by [email protected] ------ PHP Warning: Module 'geoip' already loaded in Unknown on line 0 Works! OrderID: 63838534 blah-blah-blah
Сразу как-то не дошло, в чём проблема. Пришлось интернеты ихние читать…
Суть в том, что скрипт и вся его обвязка не должны ничего генерировать в поток. А у меня получалось, что и скрипт (в тестовых целях) чего-то своё писал, и варнинг от PHP прилетал.
Решение:
- Задисабил свой текст.
- Задисабил подключение модуля в php.ini (;extension=geoip.so), поскольку он уже в сборке самого PHP присутствует (потому и варнинг).
И всё снова стало хорошо: и база пополняется, и я письма получаю, и отправитель отлупов от моего сервера не видит.