Почта php не работает. нет сообщений об ошибках. В php.ini есть ошибки отображения и отображается E_ALL.
<?php $to = "test@abc.com"; $subject = "Hi!"; $body = "Hi,\n\nHow are you?"; $headers = 'From: test@abc.com' . "\r\n" . 'Reply-To: test@abc.com' . "\r\n" . 'X-Mailer: PHP/' . phpversion(); mail($to, $subject, $body, $headers); ?>
Спасибо всем за ответы. Это было действительно полезно. Это была проблема разрешения
drwxrwx — 2 smmsp smmsp 4096 Oct 12 12:00 / var / spool / clientmqueue /
изменено выше
drwxrwx — 2 apache smmsp 4096 Oct 12 12:56 / var / spool / clientmqueue /
и это сработало!
Прежде всего, проверьте возвращаемое значение mail()
$sent = mail($to, $subject, $body, $headers); if (!$sent) { // there was some error in the message itself, our MTA rejected it or there's an error in MTA's config } else { // message was accepted for delivery }
Во-вторых, проверьте настройки электронной почты PHP (обратите внимание, что на сервере Linux имеет значение sendmail_path
, тогда как на серверах Windows это SMTP
и smtp_port
) пытаются отправить электронное письмо с ними из другого приложения.
В-третьих, в зависимости от используемого SMTP-сервера проверяйте его журналы на наличие каких-либо предупреждений или ошибок (например, не можете связаться с сервером назначения, не подключенным к сети и т. Д.).
В-четвертых, если вы убедились, что почта успешно покинула вашу сеть, скрестите пальцы и надейтесь на лучшее. Серьезно, нет ничего более того, что вы можете сделать для своего сообщения электронной почты с этого момента и, если он не доставлен, вы не можете многое сделать.
Ознакомьтесь также с этими советами о том, что ваша почта не будет помечена как спам