За последние 24 часа нас посетили 17058 программистов и 1834 робота. Сейчас ищут 1650 программистов ...

Функция mail() не отправляет

Тема в разделе "Работа с почтой", создана пользователем mhi, 12 фев 2015.

  1. mhi

    mhi Новичок

    С нами с:
    12 фев 2015
    Сообщения:
    1
    Симпатии:
    0
    Всем привет. Прошу помощи.
    Очень много похожих проблем нашёл в гугле по поводу "Функция mail() не отправляет, не работает", но свою проблему так и не решил.
    Собрался переезжать на новый забугорный хостинг web.com, но в первые дни теста обнаружил что функция mail() на нём не работает.
    Посмотрел phpinfo(), вроде все нужные дерективы подключены по умолчанию.
    Есть доступ к файлу php.ini.
    Сама функция mail() возвращает true, в log файле хостинга ошибок нету.
    Код обрабатывается без ошибок, но сообщения не приходят к получателю, пробовал на разные почтовые серверы отправлять.
    Мой сайт - Главная
    Посмотреть phpinfo() - тут
    Загрузить свой файлик для теста в корень сайта - тут
    Буду благодарен если укажите куда мне капнуть. Заранее Спасибо !
    Ну и код который я тестирую:
    Код (Text):
    1.  
    2. <?php
    3.     $message = "";
    4.     function chekEmail($email){ // Проверка на правильный формат email
    5.         if(!preg_match("/^([a-zA-Z0-9_\.-]+)@([a-z0-9_\.-]+)\.([a-z\.]{2,6})$/", $email)) {
    6.             return false;
    7.         }
    8.         return true;
    9.     }
    10.  
    11.     if(isset($_POST['send'])) {
    12.         if(chekEmail($_POST['email'])){ // Если функция chekEmail вернула true
    13.        
    14.             $email_to = $_POST['email'];
    15.             $text = strip_tags($_POST['text']);
    16.            
    17.             if(mail($email_to, "subject", $text)) {
    18.                 $message = "Сообщение отправлено на $email_to";
    19.                 unset($_POST);
    20.             }
    21.             else {
    22.                 $message = "Ошибка функции mail()";
    23.             }
    24.         }
    25.         else $message = "Не верный формат Email";
    26.     }
    27.     echo "<form method='post' action=''>";
    28.     echo "<input type='text' name='email' value='".$_POST['email']."'> Email получателя<br><br>";
    29.     echo "<input type='text' name='text' value='".$_POST['text']."'> Текст сообщения<br><br>";
    30.     echo "<input type='submit' name='send' value='Отправить'><br><br>";
    31.     echo "</form>";
    32.     echo "<h2>$message</h2>";
    33. ?>
     
  2. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    она сама посебе ничего не отправляет. она отдаёт в почтовичок.
     
  3. noganno2

    noganno2 Новичок

    С нами с:
    23 июн 2014
    Сообщения:
    27
    Симпатии:
    1
    напиши в тех подержку хостинга
     
  4. DenMagor

    DenMagor Активный пользователь

    С нами с:
    26 июл 2015
    Сообщения:
    5
    Симпатии:
    0
    SMTP с авторизацией по протоколу SSL с помощью PHP. Yandex, mail, gmail через порт 465 и ссылку на хост работающий через ssl, для mail например хост "ssl://smtp.mail.ru".