Список рассылки подписчиков PHP

Мне нужно создать список рассылки для сайта выпускников, который я создаю. Ниже я хотел бы, чтобы список рассылки в идеале функционировал.

Пользователь
Пользователь будет заходить на веб-сайт, вводить свой адрес электронной почты (и, возможно, имя / фамилию) в поле (поля), нажимать кнопку "Подписаться" и затем получать сообщение с подтверждением (с помощью всплывающего окна, перенаправления или сообщения электронной почты).,

Менеджер сайта
Каждый адрес электронной почты (и имя), который успешно подписался, будет скомпилирован в текстовый документ на сервере или групповой адрес электронной почты. Затем менеджер может либо войти в систему с паролем администратора, чтобы отправить массовое электронное письмо в список подписчиков (например, http://justincross.net/stuff/join2.php), либо администратор может просто отправить список по электронной почте из G- Почтовый аккаунт.

Кто-нибудь знает, как это сделать эффективно? В течение нескольких дней я искал учебник / шаблон, но те немногие, что я пробовал, похоже, либо сломаны, либо используют mySQL (что я предпочел бы не делать).

Заранее спасибо!

2 ответа

Используйте это: http://www.phplist.com/.. лучший на рынке и очень адаптивный!

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

Вставка данных в файл

$email = "the email";
$firstName = "the first name";
$lastName = "the last name";

$new_line = "$email|$firstName|$lastName\n"; // |  could be other character

$file = fopen("subscribers.txt", "a");
fputs($file, $new_line);
fclose($file);

Чтение и анализ данных

$subscribers = array();

$handle = @fopen("subscribers.txt", "r");
if ($handle) {
    while (!feof($handle)) {
        $line = fgets($handle, 4096);

        //parsing the line
        $ar = explode('|', $line);

        //$ar[0] holds the email
        if(key_exists(0, $ar)){
          $email = $ar[0];
        }else{
          $email= '';
        }

        //$ar[1] holds the first name
        if(key_exists(1, $ar)){
          $firstName = $ar[1];
        }else{
          $firstName = '';
        }

        //$ar[2] holds the last name
        if(key_exists(2, $ar)){
          $lastName = $ar[2];
        }else{
          $lastName = '';
        }

        $temp = array(
          'email' => $email,
          'firstName' => $firstName,
          'lastName' => $lastName
        );

        $subscribers[] = $temp;
        //

    }
    fclose($handle);
}

Для просмотра подписчиков и использования функции отправки электронной почты

foreach($subscribers as $subscriber){
    //the email
    $subscriber['email'];

    //the firstname
    $subscriber['firstName'];

    //the lastname
    $subscriber['lastName'];
}
Другие вопросы по тегам