Электронная почта, отправленная с веб-сервера с использованием PHP, не поступает

Я пытаюсь отправить электронную почту через мой веб-сервер с помощью PHP, но по какой-то причине письмо не приходит. Согласно PHP, письмо было отправлено успешно, но я никогда не получал письмо. Я знаю, что это не проблема спама, поскольку веб-сервер имел обыкновение иметь возможность успешно отправлять электронную почту, пока я не переустановил ее на прошлой неделе. Он был установлен с точно такой же ОС и конфигурацией, но теперь он не работает.

Он использует настройки PHP по умолчанию для отправки электронной почты, и я включил SMTP в брандмауэре, но это, похоже, не работает.

Есть ли журналы для отправки электронной почты PHP, которые могут помочь мне решить проблему, почему она не работает?

PHP, вероятно, пытается поговорить с локальным SMTP-сервером, то есть с одним запуском на том же компьютере, что и веб-сервер. Итак, вы настроили его? Есть много на выбор. Наиболее популярными являются Sendmail, Exim, Postfix и Qmail.

Попробуйте отправить электронное письмо с помощью примитивного клиента mailx . Если он не может отправлять почту за пределы машины, это, вероятно, по той же причине, что и PHP, поэтому проблема будет лежать вне PHP.

Попробуйте отправить электронную почту вручную из командной строки с помощью telnet ting в localhost на порт 25 и вручную поговорить с SMTP. Есть много руководств для этого онлайн. Вот он . Оттуда оттуда зависит то, что произошло:

  • Если вы не получили ответа на порт 25, сервер SMTP не работает.

  • Если он отвечает, возможно, это даст сообщение об ошибке, которое подскажет вам проблему.

  • Если он, кажется, принимает электронное письмо, вам нужно отладить локальный SMTP-сервер.