Задача

Мы планируем создать интерактивную систему компоновки и отправки информационных бюллетеней. Эта система должна позволять создание и рассылку пользователям различных информационных бюллетеней, а также предоставлять пользователям возможность подписываться на один или несколько информационных бюллетеней.
Если конкретно, система должна удовлетворять следующим требованиям:
■ Администраторы должны иметь возможность настраивать и изменять списки рассылки.
■ Администраторы должны иметь возможность рассылать информационные бюллетени в текстовом и HTML-формате всем подписчикам в рамках одного списка рассылки.
■ Пользователи должны иметь возможность регистрироваться на сайте, а также вводить и изменять сведения о себе.
■ Пользователи должны иметь возможность подписываться на любые списки, доступные на сайте.
■ Пользователи должны иметь возможность отменять подписку на ранее подписанные списки рассылки.
■ Пользователи должны иметь возможность сохранять свои предпочтения относительно получения информационных бюллетеней в формате HTML или в виде простого текста.
■ В целях поддержания безопасности пользователи не должны иметь возможность отправлять сообщения электронной почты в списки рассылки и видеть адреса электронной почты других подписчиков.
■ Пользователи и администраторы должны иметь возможность просматривать информацию о списках рассылки.
■ Пользователи и администраторы должны иметь возможность просматривать прошлые информационные бюллетени, отправленные в список рассылки (то есть архив).