Издание о поисковом маркетинге
и заработке в Интернете
Войти как пользователь
Вы можете войти на сайт, если вы зарегистрированы на одном из этих сервисов:
Найти

Создание простейшей e-mail рассылки

Дорогая Редакция 18 Октября 2006, в 12:00
Шрифт:
0 670

1. Введение
2. Создание рассылки на PHP
3. Заключение

1. Введение

В качестве эффективного инструмента продвижения сайта можно использовать Public Relations, т.е. создание положительного образа компании. Создание собственной рассылки – один из способов подобного продвижения, а вместе с тем – возможность приобрести хорошую репутацию. Конечно, сразу не появится несколько тысяч подписчиков на рассылку, однако её получатели – это Ваши клиенты. Поскольку они подписались добровольно, то скорее всего, заинтересованы в предоставляемой информации.

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

Необходимо также помнить очень важное правило: в тексте Вашей рассылки обя-зательно указывайте ссылку на Ваш сайт (при этом желательно, чтобы она вписывалась в смысл контекста). Данное обстоятельство поможет тем подписчикам, которые только что подписались.

Отправлять рассылку можно с различной частотой – все зависит от тематики рассылки. Например, для коротких новостных лент период рассылки может составлять от 1-2 дней; при достаточно сложном материале период необходимо увеличить до 3-5 (а в неко-торых случаях и до 7-10) дней. Но повторю: все зависит от специфики предлагаемой Вами рассылки – здесь нужно пробовать.

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

2. Создание рассылки на PHP

Сегодня Интернет предоставляет пользователям бесконечное многообразие платных и бесплатных сервисов, включая и услуги по e-mail рассылке. Что касается платных сервисов, понятно: платишь – получаешь, что хочешь (или почти). С бесплатными – сложнее. Т.к. они бесплатны, значит в письмах не избежать появления сторонней рекламы, да еще с логотипом представителя услуг, что многих совершенно не устраивает.

Давайте поставим перед собою цель – написать небольшой, достаточно простой, но в тоже время функциональный движок для создания рассылки, с помощью которой будем отсылать письма своими собственными силами.

Чтобы пользователь смог оформить подписку на Вашу рассылку, необходимо организовать диалог между пользователем и сайтом. Для этого клиенту необходимо предоставить форму, в которой он смог бы указать свои данные: адрес электронной почты, имя и фамилию, контактный телефон и т.д. Для простоты рассмотрим вариант формы только с адресом электронной почты – единственным обязательным из перечисленных элементов.

Адреса электронной почты будем сохранять в «базе данных» – текстовом файле maillist.data. Это необходимо по той простой причине, чтобы избежать повторной подписки на рассылку клиентом на один и тот же адрес электронной почты. Сделаем также возможным и удаление существующего адреса из списка рассылок, т.е. отказ от рассылки.

Как говорилось ранее, письма предполагается отправлять своими силами; для безопасности отправки писем поставим пароль, для чего нам потребуется соответствующая форма для ввода пароля. Также потребуются формы для заполнения адреса отправителя, темы рассылки и непосредственно самого текста. Но самое главное и интересное – скрипт, который и будет отсылать письма. Но все по порядку.

Для ввода адреса электронной почты клиента, который желает подписаться на рассылку, необходимо создать специальную форму. Состоять форма будет всего лишь из поля для ввода e-mail и кнопки для подтверждения подписки:

<form method="post" action="mailserv.php?action=save">
   <input type="text" name="mail" size="25">
   <input type="submit" name="submit" value="Подписка">
</form>

Таким образом, после ввода в поле mail адреса электронной почты и нажатия на кнопку с надписью «Подписаться», скрипту mailserv.php будет передан адрес для пополнения «базы данных» подписчиков на рассылку.

Рассмотрим скрипт mailserv.php. Данный скрипт выполняет следующие основные операции:

    1) сохраняет введенный адрес электронной почты (в случае его правильного ввода) в «базе данных» рассылке (текстовом файле maillist.data);
    2) проверяет корректность вводимого адреса электронной почты;
    3) проверяет «базу данных» рассылки на наличие в ней вводимого адреса электронной почты (для исключения вторичной подписки на рассылку);
    4) выводит разнообразные сообщения по результатам работы скрипта (об ошибках, предупреждениях, успешном завершении операции).

<html>
<head>
    <title>Подписка на рассылку<</title>
    <meta http-equiv="content-type" content="text/html; charset=windows-1251">
    <meta http-equiv="content-language" content="ru">
</head>

<body bgcolor="darkseagreen" color="black">
<?php
   error_reporting(0);

   $dbFile = "maillist.data";

if ($action == "save")
{
   function checkMail($newMail)
   {
    $bIsMail = false;

    if (eregi("^[_\.0-9a-z-]+@([0-9a-z][-0-9a-z\.]+)\.([a-z]{2,3,4}$)", $newMail))
      $bIsMail = true;

    if ($bIsMail)
      return true;
    else
      return false;
   }

   $mail = trim(strtolower($mail));

   function findMail($newMail)
   {
    $dbFile = "maillist.data";
    $dbList = file($dbFile);

    for ($i = 0; $i < sizeof($dbList); $i++)
     if ($newMail == trim($dbList[$i]))
      $bIsPresent = true;

    if ($bIsPresent)
     return true;
    else
     return false;
   }

   if (is_file($dbFile))
   {
    $maillist = file($dbFile);

    if ($mail != '')
    {
     if (checkMail($mail))
     {
      if (!findMail($mail))
      {
       $maillist[] = "\n$mail";
       ?>
       <font color="red">Ваш e-mail успешно добавлен в базу данных рассылки!</font>
      <?php
      }
      else
      {
      ?>
       <font color="red">Внимание! Введенный e-mail уже есть в базе данных рассылки!</font>
      <?php
      }
     }
     else
     {
     ?>
      <font color="red"><strong>Ошибка! Вы ввели недопустимый e-mail адрес!</strong></font>
     <?php
     }
    }
    else
    {
    ?>
     <font color="red">Внимание! Необходимо заполнить поле e-mail!</font>
    <?php
    }
   }
   else
   {
   ?>
    <font color="red"><strong>Ошибка! Не найден файл базы данных!</strong></font>
   <?php
   }
}
?>

<br><br>
<strong>ПОДПИСКА НА РАССЫЛКУ</strong>
<form method="post" action="mailserv.php?action=save">
   Введите e-mail:
    <input type="text" name="mail" size="25">
    <input type="submit" name="submit" value="Подписка">
</form>

<br>
<strong>ОТКАЗАТЬСЯ ОТ РАССЫЛКИ</strong>
<form method="post" action="mailserv.php?action=delete">
    Введите e-mail:
    <input type="text" name="delete" size="15">
    <input type="submit" name="submit" value="Отказаться">
</form>

<?php
if ($action == "delete" $action == "save")
{
   $bIsDelete = false;

   if ($action == "delete")
    $maillist = file($dbFile);

   $fw = fopen($dbFile, "w");

   for ($i = 0; $i < sizeof ($maillist); $i++)
   {
    if (trim(strtolower($delete)) == trim(strtolower($maillist[$i])))
    {
     if ($delete != '')
     {
     ?>
      <font color="red">Введенный e-mail успешно удален из базы данных рассылки!</font>
      <?php
      $bIsDelete = true;
     }
    }
    else
    {
     fputs($fw, $maillist[$i]);
    }
   }

   fclose($fw);

   if ($delete != '')
   {
    if (!$bIsDelete)
    {
    ?>
     <font color="red"><strong>Ошибка! Введенный e-mail не найден в базе данных рассылки!</strong></font>
     <?php
    }
   }
}
?>
</body>

</html>

После того как мы реализовали скрипт для сохранения и удаления адресов электронной почты, необходимо разработать модуль для отправки почты. Как говорилось ранее, отправку почты будем осуществлять только после ввода пароля, который будет вводиться на отдельной форме:

<form method="post" action="poster.php" name="poster">
   <input type="password" name="passwd" value="">
   <input type="submit" value="Управление рассылкой">
</form>

Как только посетитель (потенциальный клиент) после ввода пароля в поле passwd нажмет на кнопку с надписью «Подписка», пароль будет передан скрипту poster.php:

<html>
<head>
  <
  <meta http-equiv="content-type" content="text/html; charset=windows-1251">
  <meta http-equiv="content-language" content="ru">
</head>

<body bgcolor="darkseagreen" color="black">
<?php
   $subject = "Тема рассылки";
   $contact = "адрес@электронной.почты";
   $password = "password";

   $dbFile = "maillist.data";
   $maillist = file($dbFile);

   if ($passwd == $password && $action == "exec")
   {
   ?>
    <font color="darkblue"^gt;
    Всего в базе данных рассылки <?=sizeof($maillist)?> адрес(а/ов)<br>

    <?php
    for ($i = 0; $i < sizeof ($maillist); $i++)
    {
    ?>
     <?=$maillist[$i]?><br>
    <?php
    }
    ?>
    </font>

    <br><br>
    <form method="post" action="send.php">
     Тема Вашей рассылки:<br>
     <input type="text" name="subject" value="<?=$subject?>" size="50"><br><br>
     Содержание Вашей рассылки:<br>
     <textarea name="content" rows="10" cols="50"></textarea><br><br>
     Обратный адрес (Ваш e-mail):<br>
     <input type="text" name="contact" value="<?=$contact?>" size="50"><br><br>
     <input type="submit" value="Разослать">
    </form>

   <?php
   }
   else
   {
   ?>
    <form method="post" action="poster.php?action=exec">
     <input type="password" name="passwd" value="">
     <input type="submit" value="Рассылка (admin)">
    </form>
   <?php
   }
?>
</body>

</html>

Теперь самое главное: рассмотрим скрипт send.php, который будет отсылать рассылку на адреса электронной почты из «базы данных» клиентов своими силами:

<html>
<head>
  <title>Подписка на рассылку (отправка)</title>
  <meta http-equiv="content-type" content="text/html; charset=windows-1251">
  <meta http-equiv="content-language" content="ru">
</head>

<body bgcolor="darkseagreen" color="black">
<?php
   $refuse = "\n\nЧтобы отказаться от подписки на рассылку, перейдите по ссылке";
   $homepage = "http://адрес.Вашего.сайта/mailserv.php";

   error_reporting(0);

   $subject = $HTTP_POST_VARS["subject"];
   $content = $HTTP_POST_VARS["content"];
   $subject = stripslashes($subject);
   $content = stripslashes($content);

   $dbFile = "maillist.data";
   $maillist = file($dbFile);

   for ($i = 0; $i < sizeof ($maillist); $i++)
    mail($maillist[$i], $subject, $content ."$refuse $homepage?delete=$maillist[$i]", "From: $contact");
?>
   Рассылка успешно заверена!<br>
</body>

</html>

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

Имея подобный инструмент по организации на сайте полностью независимой рассылки, Вы сможете «диктовать» свои правила; проявите фантазию и организаторские способности в создании Вашей рассылки – полная свобода действий в выборе ее настроек и оформления.

3. Заключение

Итак, в качестве эффективного инструмента продвижения сайта можно использовать рассылку, что приведет к созданию отличной репутации для Вашей компании, а также к увеличению посетителей сайта компании – Ваших потенциальных клиентов.

Рассмотренный в данном мастер-классе пример рассылки на PHP показал, что ее создание – не такое и сложное дело (данный пример можно рассматривать как некий шаблон, каркас для чего-то более сложного). Были бы желания и оригинальные (но в то же время оптимальные) идеи по этому поводу.

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

Ссылки по теме

Оптимизируем бюджет в Sape

Как сэкономить 1/6 ссылочного бюджета и при этом уберечь позиции сайта от падения в выдаче

Семен Сильченко Семен Сильченко
25 Сентября 2014 года, в 11:00
5 831

7 сервисов для вебинаров и других онлайн-мероприятий

Вебинары используют практически повсеместно. Но выбирать их нужно внимательно: неполадки с сервисом способны испортить даже самый удачный тренинг

Валерия  Россохина Валерия Россохина
24 Сентября 2014 года, в 13:53
0 534
Комментарии
0 комментариев
Новые 
Новые
Лучшие
Старые
Сообщество
Подписаться 
Подписаться на дискуссию:
E-mail:
ОК
Вы подписаны на комментарии
Ошибка. Пожалуйста, попробуйте ещё раз.
Поделиться 
Поделиться дискуссией:
Отправить отзыв
Войти
ПОПУЛЯРНЫЕ ОБСУЖДЕНИЯ НА SEONEWS
Тест: Какой ты SEO-специалист?
Вилли - а где ответы?
С Днем Рождения, SEOnews!
Гость - Спасибо за ответ
404: Этой статьи не существует
Гость - Как и у всех, только картинка отличается www.baltiyskaya-kosa.ru/error.html
Подводные камни в контекстной рекламе
Hkey
6
комментариев
0
читателей
Полный профиль
Hkey - 3. Да вы правы. Они поправили чуток. Раньше выводил ). Но "дело" все еще выводит. Походу они убрали словоформу "день" у глагола "деть".
Как стать «мастером ключей» и писать хорошие SEO-тексты
Руслан Зарипзянов
1
комментарий
0
читателей
Полный профиль
Руслан Зарипзянов - Первый раз говорю спасибо за очевидные вещи расписанные в объемной статье=). Начал забывать, что не все обращаются к услугам копирайтеров. Забыли только одну, начальную и краеугольную истину - хочешь "отлично", обратись к профессионалам. Мы, фрилансеры, не так уж дорого берем, нечего нас бояться.
Чем запомнилась миру интернет-рекламы первая половина 2014 года?
Марал Гаипова
86
комментариев
0
читателей
Полный профиль
Марал Гаипова - Спасибо, Максим! Это был эксперимент) Будем и дальше искать варианты.
Средняя зарплата SEO-специалистов в России – 44 тысячи рублей
Гость - поддерживаю. сменила несколько контор, всё так и есть - ты раб своего начальника, обучения нет, на конференции не пускают. плюс порой приходится на сайты начальника время тратить даром, работая на % от вывода в топ своих сайтов. а развивать себя можно самостоятельно, сейчас полно литературы, опять же конференции всякие. умные давно сидят дома на свободном графике или открывают своё дело, а те, кто в офисах остался - бездари и рабы, которые в условиях конкуренции просто не выживут
Прямая линия: Артур Суилин рассказывает о бета-версии Яндекс.Метрики 2.0
DirectCalls.ru
15
комментариев
0
читателей
Полный профиль
DirectCalls.ru - Спасибо!
Обзор сервисов оценки качества ссылок SeoLib и CheckTrust
Виталий - "Независимый" пиар? Ну да, ну да...
Независимая экспертиза: тестируем сервис Checktrust.ru
Семен - 1) Мне не нравится соотношение входящих / исходящих ссылок по linkpad. 2) На этой странице уже есть одна сапо-ссылка - размещенная в футере + незаметным текстом. Это то, что мне не нравится в этой странице. Теория - пробежал глазами... Плохие ссылки - плохо, хорошие - хорошо. Ура. Ещё раз говорю, я нашел этот сервис неудобным для себя. Попробовать его, наверное, стоит. Наверное.
ТОП КОММЕНТАТОРОВ
Комментариев
910
Комментариев
834
Комментариев
554
Комментариев
540
Комментариев
478
Комментариев
374
Комментариев
285
Комментариев
263
Комментариев
171
Комментариев
123
Комментариев
97
Комментариев
97
Комментариев
86
Комментариев
80
Комментариев
67
Комментариев
60
Комментариев
56
Комментариев
55
Комментариев
52
Комментариев
45
Комментариев
44
Комментариев
43
Комментариев
43
Комментариев
43
Комментариев
40

Отправьте отзыв!