Все довольно просто, на сервере устанавливается форма подписки, ведется либо база данных с адресами, либо плоский форматированный текстовый файл со списком подписчиков и делается скрипт для рассылки писем. Вот несколько моих практических наблюдений:
Форма подписки
Не делайте много полей в такой форме, людям будет лень их заполнять; лучше подписываются с корневой страницы узла, хотя отдельную страницу с такой же формой иметь необходимо; обязательно пропишите явно, что можно в любой момент сделать unsubscribe; предусмотрите выбор форматов сообщений (plain text или attachment); проверяйте корректность ввода адреса E-mail.
База данных
Если вы ведете именную базу - проверяйте, что вводят пользователи; регулярно вычищайте неправильные или умершие адреса; если приходит unsubscribe - обрабатывайте запрос сразу же.
Скрипт рассылки
Если Вы используете рассылку списком - все очень просто. У меня же рассылка именная, идет долго (4000 адресов - около полутора часов) и были проблемы с тайм-аутом по http-соединению. В итоге скрипт еще не закончился, а броузер говорит "Document content no data". Это решается постоянным выводом не менее 4К за период тайм-аута сервера (обычно 5 минут). И последнее ВСЕГДА ВЕДИТЕ ЛОГИ РАССЫЛКИ. Это поможет в случае ошибок скрипта - можно будет уверенно досылать письма, не боясь залупить повторное письмо в две тысячи адресов.
А. Аликберов