Назад | Перейти на главную страницу

Вопрос сервера электронной почты

Мне нужен совет по защите почтового сервера от большого количества исходящих писем ежедневно. Хотел бы получить рекомендации по аппаратному и программному обеспечению, а также смету расходов. Хотелось бы, чтобы система росла вместе с объемом. Начиная с 30 000 писем в день, а затем продолжает расти. Хочу убедиться, что мой бизнес-план может себе это позволить.

Мы делаем в десять раз больше на четырех очень старых серверах, которым, вероятно, четыре года, на которых работают Ubuntu Linux, exim и пользовательская программа доставки Java и POP3. Вероятно, вы можете получить вариант выделенного сервера примерно за 100–150 долларов США, который сможет обеспечить требуемую производительность. Это потребует от вас некоторых знаний о настройке Linux или найма того, кто умеет это делать.

Это во многом зависит от того, что вы собираетесь с ним делать:

  • Насколько велики эти электронные письма (напрямую связано с доступной пропускной способностью, не волнуйтесь, даже неработающий ПК сможет заполнить канал 100 Мбит)
  • Вам нужно много обработки текста, чтобы «составить» эти электронные письма, если он запрашивает базу данных для всех полей, более вероятно, что соединение с базой данных будет узким местом.

Однажды я написал простую программу Python для Windows, которая напрямую доставляет сообщения на MX-сервер с определенного адреса электронной почты. Он работал на экземпляре VMWare на моем ноутбуке Dell D820 с win2003, имеющим память 512 МБ, и отправлял около 3 писем в секунду, хотя это было однопоточным, и большая часть этого ожидала удаленного сервера. Я полагаю, что я мог бы запустить около 20 из этих программ одновременно, прежде чем у меня возникнут проблемы с памятью / процессором.

Итак, около 60 писем в секунду, что составляет более 200 000 в час.

Вы говорите 30 000 в день, но интересный вопрос: сколько в секунду или минуту? А насколько хороши ваши адреса?

30 000 равномерно распределенных в день - это одно электронное письмо каждые 2,88 секунды, практически ничего для любой старой системы, которую вы можете превратить в сервер; даже если вы все делаете однопоточным. Если разделить на два пакета, которые будут доставлены через полчаса, вы говорите о чуть более 8 электронных письмах в секунду; может быть, немного сложно управлять этим старым 386 в шкафу, но с ним можно справиться с правильным программным обеспечением практически на любой коробке, купленной за последние 5 лет. Ожидайте доставки 99% из этих 30 000 в течение 1 минуты, а вы говорите 500 в секунду; что-то немного сложное.

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

Если адрес выдает временную ошибку, вы хотите сохранить его в очереди и повторить попытку позже? Некоторые люди настроены так, что это единственный способ получать им электронную почту.

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

Если на то пошло, есть ли ваш бизнес-план по рассылке спама? Откуда взялись эти 30 000 адресов электронной почты?

Чтобы более прямо ответить на некоторые технические аспекты:

  • Установите Linux / Unix с почтовым сервером, например Postfix или Exim
  • Попросите ваше приложение отправлять всю почту в этот ящик (не пытайтесь выстраивать очередь самостоятельно).
  • Вы можете захотеть устроить маскарад хоста (чтобы все письма приходили с домена)
  • Задайте свой ответ (или заголовки) так, чтобы он указывал на ваш настоящий почтовый сервер (чтобы вы могли видеть сообщения о недоставке и другие проблемы).

Стоимость оборудования зависит от того, где вы собираетесь его разместить (в офисе, в Colo, арендуйте VPS в хостинговой компании).