За последние 24 часа нас посетили 11200 программистов и 880 роботов. Сейчас ищут 369 программистов ...

Не отправляет Email на почту в чем проблема?

Тема в разделе "PHP для новичков", создана пользователем raro, 22 ноя 2022.

  1. raro

    raro Новичок

    С нами с:
    6 ноя 2022
    Сообщения:
    9
    Симпатии:
    0
    form.php
    Код (Text):
    1. <?php
    2.  
    3. function randomKey($length = 12)
    4. {
    5.     $chars = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
    6.     $key = '';
    7.     for ($i = 0; $i < $length; $i++) {
    8.         $key .= $chars[mt_rand(0, strlen($chars) - 1)];
    9.     }
    10.     return $key;
    11. }
    12. echo randomKey();
    13.  
    14. $randomKey = randomKey();
    15.  
    16. ?>
    17. <!DOCTYPE html>
    18. <html>
    19.  
    20. <head>
    21.     <title>Send random key</title>
    22. </head>
    23.  
    24. <body>
    25.     <form action="send.php" method="post">
    26.         <input type="text" name="email" placeholder="email">
    27.         <input type="hidden" name="randomKey" value="<?php echo $randomKey; ?>">
    28.         <input type="submit" name="submit" value="Send">
    29.     </form>
    30. </body>
    31.  
    32. </html>
    send.php
    Код (Text):
    1. <?php
    2. $to = $_POST['email'];
    3. $subject =    "Random key";
    4. $message = $_POST['randomKey'];
    5. $headers = "From:
    6. ";
    7. mail($to, $subject, $message, $headers);
     
  2. ADSoft

    ADSoft Старожил

    С нами с:
    12 мар 2007
    Сообщения:
    3.520
    Симпатии:
    673
    Адрес:
    Татарстан
    100 тыщ причин может быть, и дело не только в коде

    потому-то стараются использовать готовые решения и библиотеки типа PHPMailer или Swift

    если это шаред хостинг - надо смотреть их правила, зачастую отправка возможно только с адреса почты на текущем домене сайта, итд итп
     
  3. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.537
    Симпатии:
    1.278
    Адрес:
    Лень
    Анонимная отправка по эл. почте блокируется сервисами почты. Еще нужно верифицировать
     
  4. raro

    raro Новичок

    С нами с:
    6 ноя 2022
    Сообщения:
    9
    Симпатии:
    0
    Хостинг sprinthost, как верифицировать?
     
  5. miketomlin

    miketomlin Старожил

    С нами с:
    9 авг 2016
    Сообщения:
    3.539
    Симпатии:
    590
    mail() – основной способ отправки, тем более с морды сайта. Если какой-то платный хостинг не поддерживает (даже после пинка), валите с него, он отстойный.

    Другое дело, что нужно норм. настраивать и письма корректные отправлять.
    --- Добавлено ---
    Sprinthost – норм. Имена их почтовых серверов *.from.sh заслуживают отдельного лайка :)
     
  6. raro

    raro Новичок

    С нами с:
    6 ноя 2022
    Сообщения:
    9
    Симпатии:
    0
    А как настраивать? Что делать куда писать? Что писать?
     
  7. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.537
    Симпатии:
    1.278
    Адрес:
    Лень
    кому платить ?
     
    don.bidon нравится это.
  8. programmer007

    programmer007 Новичок

    С нами с:
    30 ноя 2022
    Сообщения:
    12
    Симпатии:
    2
    Скорее всего, нужно поменять хостинг - при условии, что вы проверили содержание писем, и с ними все в порядке.
     
  9. nenashev88

    nenashev88 Новичок

    С нами с:
    18 ноя 2022
    Сообщения:
    3
    Симпатии:
    0
    Как ни странно подобная проблема есть на таймвэбе. При отправки писем на mail.ru не доходят, на остальные без проблем. Хостеры говорят заводить почту на хостинге а не пользоваться всеми принятыми.
     
  10. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.537
    Симпатии:
    1.278
    Адрес:
    Лень
  11. miketomlin

    miketomlin Старожил

    С нами с:
    9 авг 2016
    Сообщения:
    3.539
    Симпатии:
    590
    Вполне может быть, что сами виноваты, а не хостер.

    О чем вы? Не понял.
    --- Добавлено ---
    Отправку нужно делать с ящика на своем домене. Без вариантов. Во From нужно указывать этот же ящик. Времена свободного обращения с заголовком From прошли. И это правильно.
     
  12. nenashev88

    nenashev88 Новичок

    С нами с:
    18 ноя 2022
    Сообщения:
    3
    Симпатии:
    0
    --- Добавлено ---
    Я имею ввиду, что обычно все работает. Сайт на opencart 2.3. Письма админу все приходят а вот о заказе которые идут клиенту приходят всем кроме тех у кого на mail.ru. Надеюсь так понятно. Так вот хостеры говорят что нужно завести у них почту чтобы все приходило и отправлялось. Сейчас используется почта yandex.ru
     
  13. miketomlin

    miketomlin Старожил

    С нами с:
    9 авг 2016
    Сообщения:
    3.539
    Симпатии:
    590
    Это я сразу понял. Вот это не понятно:
    Естественно, у хостера нужно завести почтовый домен и создать на нем ящик, с которого идет программная отправка. При этом можно иметь одноименный ящик у Яши для получения и даже отправки писем. В «антиспамных» настройках домена есть возможность указать два источника отправки (с сервера Яши и с почтового сервера хостера).
    --- Добавлено ---
    P.S. У нас тоже в основном ПС Яши используют и при этом все норм. отправляется с одноименных ящиков на своих почтовых серверах. Ящиков на своих серверах на самом деле обычно нет, но вам я советую сделать иначе, чтобы DKIM-подпись и прочая лабуда подхватывалась.
    --- Добавлено ---
    P.P.S. Естественно, речь о почте Яши на своих доменах. А то я знаю товарищей, которые, в том числе и в opencart'е, пихают в заголовок From (о том, что реальный адрес отправки по-любому другой, они даже не подозревают) адреса ящиков @gmail.com, @yandex.ru и т.п. и потом возмущаются, что у них проблемы с приемом таких писем :)