Поиск и устранение неисправностей почты PHP [дубликат]

Используя пример Вы дали:

<form>
<input type="text" name="field1" /><!-- put your cursor in this field and press Enter -->
<input type="submit" name="prev" value="Previous Page" /> <!-- This is the button that will submit -->
<input type="submit" name="next" value="Next Page" /> <!-- But this is the button that I WANT to submit -->
</form>

при нажатии на "Previous Page" только значение "предыдущих" будет отправлено. При нажатии на "Next Page", только значение "следующих" будет отправлено.

, Если однако, Вы нажимаете Enter где-нибудь на форме, ни "предыдущей" ни "следующей", будет отправлен.

Настолько использующий псевдо код Вы могли сделать следующее:

If "prev" submitted then
    Previous Page was click
Else If "next" submitted then
    Next Page was click
Else
    No button was click
11
задан Ben 16 September 2012 в 11:03
поделиться

5 ответов

Это довольно долгая история. Несколько пунктов (при условии, что mail () возвращает истину и в журнале ошибок нет ошибок):

  • Принадлежит ли адрес отправителя («От») домену на вашем сервере? Если нет, сделайте так.
  • Внесен ли ваш сервер в черный список (например, проверьте IP на spamhaus.org)? Это удаленная возможность с виртуальным хостингом.
  • Фильтруются ли сообщения спам-фильтром? Откройте учетную запись на бесплатном почтовом сервере, в котором есть папка для спама, и узнайте. Также попробуйте отправить почту на адрес без спам-фильтра.
  • Возможно, вам понадобится пятый параметр «-f» в mail (), чтобы добавить адрес отправителя? (См. Команду mail () в руководстве по PHP)
  • Если у вас есть доступ к файлам журналов, проверьте их, конечно, как было предложено выше.
  • Проверяете ли вы адрес "от:" на предмет возможных недоставленных писем ("
13
ответ дан 3 December 2019 в 04:33
поделиться

Следуя Майлзу, если вы используете Linux, сделайте это в командной строке:

# echo “Body text.” | mail -s “Hello world” you@example.com

Если вы не получили это электронное письмо, у вас проблема с почтовой системой на нем. коробка. Это вопрос, отличный от вопроса PHP, который вы задали.

4
ответ дан 3 December 2019 в 04:33
поделиться

Если все устранение неполадок завершается неудачно - теперь предполагается, что mail () возвращает false по неизвестным причинам - переключитесь на сценарий рассылки, например PHPMailer , который позволяет полностью обойти mail () и подключаться напрямую через SMTP, а также предлагает расширенный режим отладки. Таким образом, вы сможете либо создать рабочее решение, либо найти суть проблемы.

2
ответ дан 3 December 2019 в 04:33
поделиться

Из руководства по PHP:

Return Values

Returns TRUE if the mail was successfully accepted for delivery, FALSE otherwise.

It is important to note that just because the mail was accepted for delivery, **it 
does NOT mean the mail will actually reach the intended destination**.

Не знаю, как сделать следующий шаг, но это здесь важный момент.

3
ответ дан 3 December 2019 в 04:33
поделиться

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

1
ответ дан 3 December 2019 в 04:33
поделиться
Другие вопросы по тегам:

Похожие вопросы: