За последние 24 часа нас посетили 21013 программистов и 1275 роботов. Сейчас ищет 791 программист ...

Письма, отправленные с сайта, попадают в папку "Спам", как это исправить?

Тема в разделе "PHP для новичков", создана пользователем Kuzma92, 25 мар 2024.

  1. Kuzma92

    Kuzma92 Новичок

    С нами с:
    6 мар 2024
    Сообщения:
    13
    Симпатии:
    0
    Здравствуйте уважаемые специалисты. Вопрос у меня следующего характера:

    При регистрации пользователя на сайте, админу отправляется информационное письмо об этом. Вот мой код:

    Код (Text):
    1. if($info=="")
    2.             {
    3.                $time=time();
    4.                $f=fopen("db/drop","a+");
    5.                fwrite(записываем данные в файл);
    6.                fclose($f);
    7. // и отправляем письмо админу
    8.               $message="Текст письма";
    9.               $subject="Тема";
    10.               $headers= "MIME-Version: 1.0\r\n";
    11.               $headers.= "Content-type: text/plain; charset=utf-8\r\n";
    12.               $label=str_replace("www.","",$_SERVER['SERVER_NAME']);
    13.               $label="admin@".$label;
    14.               $headers.= "From: От_кого<$label>\r\n";
    15.               mail("$_POST[login]", $subject, $message,$headers);
    16.             }
    Но проблема заключается в том, что все письма попадают в папку "Спам". Подскажите, пожалуйста, что в моем коде не так, и как это можно исправить? Или может ли быть причина, например в том, домен сайта пока что не имеет сертификата (т.е. http://)?

    Благодарю за помощь!
     
  2. ADSoft

    ADSoft Старожил

    С нами с:
    12 мар 2007
    Сообщения:
    3.827
    Симпатии:
    738
    Адрес:
    Татарстан
    причины сложны и многогранны....
    1. используйте проверенную библиотеку, например PHPMail для отправки, где большинство нюансов уже учтено
    2. используйте отправку по SMTP протоколу
    3. почта с которой отправляете, должна быть должным образом настроена - DKIM/SPF/DMARC
     
    Kuzma92 нравится это.
  3. Kuzma92

    Kuzma92 Новичок

    С нами с:
    6 мар 2024
    Сообщения:
    13
    Симпатии:
    0
    Понял, спасибо вам за ответ.
     
  4. Vladimir Kheifets

    Vladimir Kheifets Новичок

    С нами с:
    23 сен 2023
    Сообщения:
    260
    Симпатии:
    51
    Адрес:
    Бавария, Германия
    Добрый день!
    По Вашему коду.
    Если в subject или headers есть строки содержащие символы помимо a-Z, например, кириллица, как у Вас или немецкие умляуты,
    то для того чтобы строки правильно отображались у получателя необходимо использовать одно "заклинание"
    PHP:
    1. $subject = "=?UTF-8?B?".base64_encode("Тема")."?=";
    2. ...
    3. $headers.= "From:=?UTF-8?B?".base64_encode("От_кого")."?=<$label>\r\n";
    По поводу спама см. https://znanieetosila.ru/profile/lesson/16/25
    Удачи!
     
    Kuzma92 нравится это.
  5. Kuzma92

    Kuzma92 Новичок

    С нами с:
    6 мар 2024
    Сообщения:
    13
    Симпатии:
    0
    @Vladimir Kheifets Спасибо вам за полезную для меня информацию!