Как рассылать спам на php
Перейти к содержимому

Как рассылать спам на php

  • автор:

Почта попадает в спам

вот то, что приходит на почту

на почту приходит вот это, и вроде все норм

Отслеживать
задан 19 июл 2016 в 21:46
arseniy mironov arseniy mironov
183 1 1 серебряный знак 6 6 бронзовых знаков

Надо смотреть на исходник принятого письма, которое помечено как спам. Хотя так, навскидку, для начала я бы попробовал Subject закодировать в QP или base64.

19 июл 2016 в 21:52

Точно не помню как работает джимайл но попробуйте убрать адрес отправителя письма из обработчика. С майлом помогает.

– user212578
19 июл 2016 в 21:58

@РусскийМедведь, каким образом абсолютно законный From: может влиять на спамдетектор? Вот отсутствие To: — может, но я не помню, подставляет ли его mail() из своих аргументов. В общем, на потроха письма смотреть надо. Может там дело вообще в каком-нибудь промежуточном сервере.

19 июл 2016 в 22:04

Вы бы открыли такое полученное письмо в сыром виде (в большинстве почтовых клиентов есть такая возможность, часто зовущаяся «Исходный текст»), т.е. текст со всеми заголовками и приложили его к вопросу. Тогда можно было бы его через какой нибуд spamassassin прогнать и посмотреть что ему не нравится в письме.

Рассылка почты из php скрипта через smtp

Здравствуйте, решил сделать рассылку писем через smtp, используя данный скрипт на php:http://i-leon.ru/smtp-php/ В качестве почтового сервера использовал ssl://smtp.mail.ru:465. Однако на этапе авторизации сервер логин принимает, а на этапе принятия пароля выбрасывает ошибку авторизации, что пароль не был принят как верный. Может, кто-нибудь сталкивался с похожей проблемой связки php smtp и почтовика mail.ru на ssl

Отслеживать
задан 31 июл 2017 в 13:24
Denis Danilov Denis Danilov
120 1 1 золотой знак 2 2 серебряных знака 10 10 бронзовых знаков

1 ответ 1

Сортировка: Сброс на вариант по умолчанию

В общем, нашел обходное решение для данного вопроса. Для этого использовал готовую библиотеку PHPMailer. Через почтовик yandex сообщения тут же начали отправляться без проблем. Для отправки через gmail потребовалось в настройках почты открыть доступ к ящику со стороны сторонних приложений (как-то так данный пункт именуется). К mail так и не удалось подключиться. Возможно нужно так же поколдовать над настройками почты. Ссылка на библиотеку:PHPMailer

Отслеживать
ответ дан 7 авг 2017 в 14:29
Denis Danilov Denis Danilov
120 1 1 золотой знак 2 2 серебряных знака 10 10 бронзовых знаков

  • php
  • smtp
    Важное на Мете
Похожие

Подписаться на ленту

Лента вопроса

Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.

Дизайн сайта / логотип © 2024 Stack Exchange Inc; пользовательские материалы лицензированы в соответствии с CC BY-SA . rev 2024.4.30.8420

Выбираем язык программирования: что нужно знать о PHP

Рассказываем про один из самых популярных языков веб-разработки. Чем он отличается от JavaScript и что нужно знать, чтобы найти работу.

Мария Грегуш

Мария Грегуш

В бэкграунде — программирование, французский язык, академическое рисование, капоэйра. Сейчас учит финский. Любит путешествия и Балтийское море.

Когда PHP только появился, он был полон багов и недостатков. Многие привыкли его ругать, помня как «недоязык», но с момента его создания прошло уже много лет, а PHP пережил много изменений к лучшему. Как и у любого языка, у PHP есть свои особенности, но теперь это полноценный настоящий язык программирования.

Сейчас PHP — один из самых популярных языков веб-разработки. Почти весь Facebook* написан на PHP. Из других примеров — WordPress, Wikipedia, Yahoo и Tumblr.

PHP — это скриптовый (сценарный) язык общего назначения. На сценарных языках пишут сценарии или скрипты — программы, которые автоматизируют некоторые задачи (которые иначе пользователь делал бы вручную). Скрипты помогают избежать ошибок, сэкономить время пользователя и изменить программу, не боясь, что всё остальное перестанет работать. В отличие от большинства языков, скриптовым языкам не нужна компиляция, и они используются в основном для небольших рутинных задач.

Важно! Работа PHP тесно связана с CSS и HTML. То есть чтобы стать разработчиком, недостаточно выучить только PHP.

Зачем нужен PHP

PHP создавался для веб-разработки, и для этого он в основном и используется, причём в основном для backend-разработки, то есть разработки серверной стороны сайта. На нём часто пишут динамические страницы и небольшие веб-программы. Вот несколько примеров его использования:

  • работа с базами данных;
  • создание системы комментариев;
  • разработка форумов;
  • разработка поиска по сайту;
  • создание страницы для регистрации и входа в систему.

Плюсы, минусы и особенности PHP

Начнём с особенностей. У PHP слабая динамическая типизация: это значит, что типы переменных определяются во время выполнения программы, разные типы можно использовать вместе, а неявные преобразования выполняются автоматически.

Такая типизация — это и плюс, и минус. С одной стороны, код проще, гибче, он лучше читается и его легче писать, но, с другой стороны, вероятность ошибок выше, а найдёте вы их уже после запуска программы.

Плюсы
  1. PHP бесплатный, а его код лежит в открытом доступе.
  2. Для PHP создано множество библиотек, баз данных и фреймворков.
  3. PHP совместим почти со всеми современными серверами.
  4. PHP гибкий и даёт много свободы.
  5. PHP хорош для новичков, ему легко научиться.
  6. Простая и элегантная система классов и объектов.
  7. Простой синтаксис. Вот пример кода, выводящего надпись «Hello, World», в PHP:
 echo "Hello world"; ?> 

Как видите, синтаксис очень простой, но обычно PHP вставлен в HTML, и тогда то же самое выглядит вот так:

html> head> title>Hello World title> head> body>  echo "Hello, World!";?> body> html> 

Несмотря на то что этот код уже значительно длиннее, он всё равно простой и легко читается.

Минусы
  1. Чтобы работать с PHP, нужно знать как минимум HTML, а лучше ещё и CSS. Знание JavaScript тоже пригодится.
  2. У простоты и гибкости PHP тоже есть обратная сторона: написать плохой код очень просто, ошибиться легко, а найти ошибку тяжело. Из-за этого поддерживать код бывает непросто.
  3. Безопасность. Во-первых, проблему создаёт то, что код лежит в открытом доступе: если кто-то найдёт в коде баг, он может использовать это в своих целях. Во-вторых, из-за простоты языка и большого количества разработчиков код часто низкого качества и в нём не предусмотрена защита.
  4. Скорость. PHP не самый производительный язык: например, его конкурент Javascript — быстрее.
  5. Нет четкой системы в названиях функций стандартной библиотеки: в некоторых есть сокращения, в некоторых нет (call_user_func vs. create_function). В некоторых есть подчёркивание, в некоторых нет (isset vs. is_null), а, например, в названиях функций для работы со строками иногда бывает обозначение str, а иногда его не бывает. Такая нестабильность усложняет работу.

PHP против JavaScript

JavaScript и PHP первыми приходят на ум, когда думаешь о веб-разработке. Оба достаточно простые скриптовые языки, оба не зависят от платформы и часто вставляются в HTML. Многие веб-страницы даже используют оба эти языка. Почему так, и чем они различаются?

  1. Frontend vs Backend. PHP чаще всего используют для backend-разработки (на стороне сервера), а JavaScript — для frontend-разработки на стороне пользователя. Поэтому бывают страницы, серверная часть которых написана на PHP, а пользовательская — на JavaScript.
  2. Применение. JavaScript используется для многопоточных и веб-приложений, игровых серверов, браузеров и многого другого, PHP — язык почти исключительно для веб-разработки.
  3. Скорость. Как мы упомянули выше, PHP медленнее, чем JavaScript.
  4. В дефолтном JavaScript нет поддержки баз данных, а работа на PHP тесно с ними связана.
  5. Безопасность. Благодаря тому что PHP работает на сервере, его код менее доступен и лучше защищён, чем код JavaScript, который лежит на поверхности. Правда, есть инструменты (Security Analyzer), которые помогают сделать JavaScript безопаснее.
  6. Сложность. PHP проще. Для одной и той же задачи в JavaScript обычно нужно дольше разбираться и писать больше кода, чем в PHP.

Какой язык выбрать? Если вы создаёте одностраничные динамические сайты или хотите заниматься frontend-разработкой, то стоит выбрать JavaScript, а если вы работаете с CMS типа WordPress, или с такими серверами, как MySQL, SQL, MariaDB, Oracle и Sybase, то лучший выбор — PHP.

Востребованность и зарплата

Благодаря простоте PHP таких разработчиков много, но и вакансий тоже: HH.ru показывает более 900 предложений в Москве, а Яндекс.Работа — более 1100 (данные за декабрь 2019 года).

Требования. Большинство работодателей ожидают от кандидата знания не только PHP, но и HTML, CSS и JavaScript. Нередкое требование — опыт работы с MySQL, системой управления базами данных.

Зарплаты PHP-программистов в Москве начинаются в среднем от 70 тысяч рублей, junior-разработчики могут рассчитывать на зарплату от 40 до 90 тысяч рублей. Программистам с опытом предлагают от 120 до 200 тысяч рублей (информация собрана на Яндекс.Работе и HH.ru в декабре 2019 года).

Резюмируем

PHP — популярный язык для backend-разработки, у него простой синтаксис и его легко учить. Так что если веб-разработка вас привлекает, то это замечательный вариант: работая с PHP, вы научитесь ещё и HTML, CSS и попробуете себя в объектно-ориентированном программировании. А если не хотите ограничиваться веб-разработкой, то присмотритесь к JavaScript или Python.

Читайте также:

  • Для чего используют PHP и почему его ненавидят
  • Как себя продать: чистим резюме от типичных ошибок
  • Как создать SPA на JS и PHP за час

Ставим надёжную защиту от спама на сайте своими силами

Ставим надёжную защиту от спама на сайте своими силами

Замучил спам? Я написал скрипт, который защитит Ваc от ненужных писем через формы обратной связи Вашего сайта.

Раньше я пользовался reCAPTCHA от Google . Но после того, как посмотрел на его исходный код, а в частности его вес (314 Кб в несжатом виде для версии v3), а также количество инициируемых им запросов, я отказался от этой идеи и написал всё сам. Работа скрипта проверена на многих сайтах, никакого спама не прошло.

В целях безопасного сохранения всех заявок через формы связи предусмотрена запись логов.

Ниже привожу php скрипт, с подробными комментариями.

Для начала делаем форму. Среди полей формы вставляем скрытый input с логичным для понимания атрибутом name. Представим что наша форма следующего вида:

 
Все поля ввода обязательны для заполнения

Имя

Телефон

E-mail

Комментарии

  • Не нужно давать атрибуту name значение «spam» ! Роботы это увидят и не заполнят это поле.
  • Не нужно прописывать атрибут style данному инпуту! Сделайте всё через CSS . Роботы увидят атрибут style и не заполнят это поле.

Форму отправляем методом POST (в теге form указываем атрибут method со значением POST).

Ниже привожу код для обработчика на php.

в переменную $badIP мы можем со временем вписать IP-адреса некоторых спамеров (например тех, которые заполнят Вашу форму вручную) // IP будет указано в log файле. IP-адреса указываем в кавычках, через запятую, пример: ['185.189.114.123', '185.212.171.99',] $badIP = []; $to ; $from ; $spam = $_POST["surname"]; // принимаем данные из скрытого спам-поля $ipAddr = $_SERVER['REMOTE_ADDR']; // определяем IP-адрес пользователя $today = date('d-m-Y_H-i'); $name = strip_tags(trim($_POST["name"])); // обрабатываем input "name" $tel = strip_tags(trim($_POST["tel"])); // обрабатываем input "tel" $email = strip_tags(trim($_POST["email"])); // обрабатываем input "email" $question = strip_tags(trim($_POST["question"])); // обрабатываем textarea с комментариями $subject = ". Новая заявка . "; $message = "Вопрос с формы \"Задать вопрос с сайта\"
"."\n"; $message . ."\n"."Телефон:
$tel>
"."\n"."E-mail:
$email>
"."\n"."Комментарии:
$question>
"."\n"; $subject = "=?utf-8?B?".base64_encode($subject)."? From: $from\r\nReply-to: $from\r\nContent-type: text/html; charset=utf-8\r\n"; if(!in_array($ipAddr, $badIP) && empty($spam)) < // если не заполнено скрытое поле и если IP-адрес не находится в нашем чёрном списке $logText = strip_tags($message); // обрезаем лишние теги для log файла // если в поле с именем нет ни одной цифры и ни одной латинской буквы // а также если в поле с комментариями нет ни одного соответствия адресам сайтов // можем добавить любые другие сочетания букв, по аналогии, через пайп, например (\.ua) и прочее if(!preg_match("/[a-z0-9]/i", $name) && !preg_match("/(www)|(http)|(@)|(\.ru)|(\.com)/i", $question)) < // записываем логи в файл (если файла нет, то он будет создан автоматически) file_put_contents("mail.log", "\n$today>\n$logText>\n", FILE_APPEND); chmod("mail.log", 0600); // если всё ок - отправляем письмо администратору сайта if(mail($to, $subject, $message, $headers)) < $subj = "Ваш вопрос получен такой-то компанией"; // формируем письмо-отбойник клиенту, что его заявка принята $subj = "=?utf-8?B?".base64_encode($subj)."? $name>, Ваш вопрос принят в работу в такой-то компании.\n
С Вами свяжутся в ближайшее время по телефону $tel>.\n\n

С уважением,\n
такая-то компания\n
+7 (000) 000-00-00\n0
https://адрес_вашего_сайта"; mail($email, $subj, $mess, $headers); > > else < // если в поле с именем были латинские буквы, либо были указаны признаки сайтов - записываем логи file_put_contents("spam.log", "\n$today>\nIP:$ipAddr>\n$logText>\n", FILE_APPEND); chmod("spam.log", 0600); echo "Вы некорректно заполнили форму связи. Пожалуйста, свяжитесь с нами по e-mail или телефону.
"; $message .= "
Это письмо попало в спам"; mail("электронная_почта_администратора_сайта", $subject, $message, $headers); > > else < // если роботом было заполнено скрытое поле или если IP-адрес в чёрном списке exit(); // сразу выходим > ?>

Подписывайтесь на группу в ВКонтакте, вступайте в сообщество на Facebook, чтобы всегда быть в курсе актуальных выпусков
W e b d e v e l o p m e n t b l o g !

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *