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