2013-07-26 5 views
0

Я использую mail() для отправки электронной почты пользователям, когда они регистрируются, но письма не поступают.Не получать почту из функции php mail()

$to = $email; 
$subject = 'DC Account Verification'; 
$message = 'messagecontent'; 
$headers = 'From: [email protected]' . '\r\n'; 
mail($to, $subject, $message, $headers); 

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

Помогите мне?

Благодаря

+0

Попробуйте использовать двойные кавычки вместо одиночных. Иногда это вина. Кроме того, некоторые (если бесплатные) хостинговые компании будут отключать исходящую почту на PHP и до сих пор не показывать ошибок. –

+0

Я бы не стал проверять файл php.ini, чтобы убедиться, что на вашем хосте работает SMTP-сервер, который может передавать ваши сообщения. Если вы не можете проверить это, я бы спросил. Кроме того, третья строка нуждается в полуколонии в конце. – JVE999

ответ

2

Я думаю, что проблема в том, что вы используете одиночные кавычки, это потому, что, когда вы используете одиночные кавычки PHP не интерпретирует спасаясь символы «\ г \ п». Поэтому просто измените их на двойные кавычки.

Более подробная информация здесь http://www.php.net/manual/en/language.types.string.php#language.types.string.syntax.double

+0

Двойные кавычки не исправили проблему. – Sunden

0

Я считаю, что это от ненужной \r\n после ОТ линии.

Попробуйте это:

$to = $email; 
$subject = "DC Account Verification"; 
$message = "messagecontent"; 
$headers = "From: em[email protected]"; 
mail($to, $subject, $message, $headers); 

Кроме того, я рекомендую двойные кавычки для этого.

+0

Электронная почта еще не отправила. Я проверяю файл php.ini, хотя хост говорит, что он позволяет SMTP. – Sunden

Смежные вопросы