Функция PHP Mail не отправляет письма - PullRequest
0 голосов
/ 04 января 2012

У меня есть сом HTML-письмо, которое я хочу отправить с помощью функции PHP Mail,

, поэтому у меня есть это:

$to = "mail@mail.sk";  
$from = "mail@mail.sk";   
$subject = "Some subject"  
$headers = 'MIME-Version: 1.0' . "\r\n"; 
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";   
$headers .= "From: $from" . "\r\n";   
$headers .= "Return-path: $from" . "\r\n";    
$headers .= "Bcc: $from\r\n";  
$message = "some html"; 
mail($to, $subject, $message, $headers);

Но оно всегда не отправляло почту, если я проверял его:

if (mail($to, $subject, $message, $headers)) {echo "Sent";}
else {echo "Didnt send";}

Я всегда получаю сообщение «Не отправлено» и сообщение об ошибке отсутствует.Что может быть не так?

Ответы [ 2 ]

1 голос
/ 04 января 2012

Проверьте ваш журнал ошибок PHP. В нем может быть больше деталей относительно того, что не работает. Обычно прямой почтовый сбой () происходит из-за неправильно настроенного SMTP-сервера или его отсутствия вообще.

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

Кроме того, не используйте mail () для электронных писем в формате MIME. Используйте что-то вроде PHPMailer или Swiftmailer , чтобы сделать это за вас. Они намного более надежны и предоставляют намного лучшие диагностические сообщения об ошибках, когда что-то взрывается.

0 голосов
/ 04 января 2012
  • Проверьте, все ли поля заполнены.Если это так ...
  • Включите отчеты об ошибках и предупреждениях на <?php error_reporting(E_ALL); ?>
  • Если ничего, проверьте, нет ли в ваших журналах какой-либо информации.
  • Проверьте, не пришла ли почтаПрибывает на другие адреса.Например, учетная запись gmail.
  • Если ничего не проверить, проверьте настройки сервера и SMTP.
  • Если это не помогло, попробуйте swiftmailer , используя (внешний) SMTP.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...