Home » Как отправлять письма с VPS? Практика для SEO-шников, вебмастеров и не только
Как отправлять письма с VPS? Практика для SEO-шников, вебмастеров и не только

Как отправлять письма с VPS? Практика для SEO-шников, вебмастеров и не только

Если у тебя есть свой сайт, ты делаешь рассылки, или просто хочешь автоматизировать отправку писем — рано или поздно встаёт вопрос: как отправлять email с VPS (виртуального сервера)? Кто-то хочет уведомлять юзеров, кто-то — слать рассылки, кто-то — подтверждать регистрации. И вот тут начинается магия: письма не доходят, попадают в спам, или твой сервер внезапно оказывается в чёрных списках. Давай разберёмся, как всё устроено, и как сделать, чтобы письма действительно работали, а не улетали в никуда.

Почему вообще отправлять письма с VPS?

  • Не хочется зависеть от сторонних сервисов (Mailgun, SendGrid, UniSender и т.д.)
  • Больше контроля над отправкой и шаблонами
  • Можно сэкономить при больших объёмах
  • Свой SMTP — это гибкость и автоматизация

Но есть и обратная сторона — геморрой с настройкой и риски попасть в спам. Давай по порядку.

Как это работает: схема отправки email с VPS

В упрощённом виде схема такая:

  1. Ты или твой скрипт (PHP, Python, Node.js и т.д.) формирует письмо
  2. Письмо отправляется через SMTP-сервер (может быть локальным или внешним)
  3. SMTP-сервер связывается с почтовым сервером получателя (Gmail, Яндекс, Mail.ru и т.д.)
  4. Письмо доходит до инбокса (или летит в спам, если что-то не так)

Варианты отправки писем с VPS

  • Через встроенный SMTP VPS — ставишь свой почтовый сервер (Postfix, Exim, Sendmail)
  • Через сторонний SMTP — отправляешь письма через чужой SMTP (например, Gmail, Яндекс, Mailgun и пр.)
  • Через API почтовых сервисов — используешь API сторонних сервисов (Mailgun, SendGrid и др.)

Вариант 1: Свой SMTP-сервер на VPS (Postfix/Exim)

Это самый “олдскульный” и гибкий вариант, но и самый сложный. Ты ставишь на VPS почтовый сервер (чаще всего Postfix или Exim), настраиваешь его, и отправляешь письма напрямую.

Плюсы:

  • Полный контроль над отправкой
  • Можно кастомизировать всё что угодно
  • Не зависишь от чужих лимитов

Минусы:

  • Сложная настройка (SPF, DKIM, PTR, DMARC, TLS и т.д.)
  • Риск попасть в спам или в блэклисты
  • На дешёвых VPS часто закрыт 25 порт (SMTP) — письма не уйдут
  • Почтовые гиганты (Gmail, Яндекс) очень не любят такие письма

Пример установки Postfix на Ubuntu:


sudo apt update
sudo apt install postfix mailutils

Во время установки выбери “Internet Site”, укажи свой домен.

Настройка SPF, DKIM и PTR — без этого письма будут улетать в спам!

  • SPF — в DNS домена добавь TXT-запись типа:
    v=spf1 mx ip4:IP_ТВОЕГО_VPS ~all
  • DKIM — ставь OpenDKIM, генерируй ключи, добавляй в DNS
  • PTR (Reverse DNS) — настрой у хостера обратную зону (IP → твой домен)
  • DMARC — ещё одна TXT-запись в DNS, например:
    _dmarc.example.com. IN TXT "v=DMARC1; p=none; rua=mailto:[email protected]"

Пример отправки письма через mail:


echo "Текст письма" | mail -s "Тема письма" [email protected]

Кейс: почему письма не доходят?

  • IP VPS в чёрных списках (проверь на mxtoolbox)
  • Нет SPF/DKIM/PTR — спам-фильтры режут всё подряд
  • Порт 25 закрыт хостером (часто на Hetzner, DigitalOcean и др.)
  • Слишком много писем — антиспам срабатывает

Вариант 2: Отправка через внешний SMTP (Gmail, Яндекс, SendPulse, Mailgun и др.)

Самый популярный и простой способ. Ты просто используешь SMTP-аккаунт стороннего сервиса (например, smtp.gmail.com, smtp.yandex.ru, smtp.mailgun.org), и отправляешь письма через него.

  • Безопаснее и проще
  • Не нужно настраивать свой почтовик
  • Письма реже попадают в спам

Минусы — есть лимиты (например, Gmail — 100-500 писем/день), могут банить за спам, нужна регистрация и подтверждение домена.

Пример отправки через Gmail с помощью msmtp:


sudo apt install msmtp

В ~/.msmtprc:


account gmail
host smtp.gmail.com
port 587
from [email protected]
auth on
user [email protected]
password your_password
tls on
tls_trust_file /etc/ssl/certs/ca-certificates.crt
account default : gmail

Отправка письма:


echo "Текст письма" | msmtp [email protected]

SMTP для рассылок (Mailgun, UniSender, SendPulse):

  • Регистрируешься на сервисе
  • Добавляешь домен, подтверждаешь его
  • Получаешь SMTP-логин/пароль
  • Вставляешь в свою CMS, скрипт или приложение

Плюсы — высокая доставляемость, аналитика, защита от спама, есть бесплатные тарифы. Минусы — платно при больших объёмах, свои правила, могут забанить за “серые” рассылки.

Вариант 3: Использование API почтовых сервисов

Если ты не хочешь возиться с SMTP, многие сервисы (Mailgun, SendGrid, UniSender) дают API для отправки писем. Это удобно для интеграции с сайтами, CRM, ботами, дорвеями.

  • Регистрируешься, получаешь API-ключ
  • Используешь curl, библиотеки (Python, PHP, Node.js) для отправки

Пример для Mailgun (curl):


curl -s --user 'api:YOUR_API_KEY' \
https://api.mailgun.net/v3/YOUR_DOMAIN/messages \
-F from='[email protected]' \
-F to='[email protected]' \
-F subject='Hello' \
-F text='Testing Mailgun API!'

Частые ошибки новичков

  • Пытаются отправлять с VPS без настройки SPF/DKIM/PTR — письма сразу в спам
  • Используют IP-шники из чёрных списков
  • Забывают про лимиты SMTP у Gmail/Яндекс
  • Оставляют открытый SMTP — сервер становится рассадником спама (open relay)
  • Не проверяют доставляемость — думают, что всё работает, а письма никто не видит

Плюсы и минусы подходов

Вариант Плюсы Минусы
Свой SMTP (Postfix/Exim) Гибкость, нет лимитов, полный контроль Сложная настройка, высокий риск спама, могут заблокировать порт 25
Внешний SMTP (Gmail/Яндекс) Просто, безопасно, высокая доставляемость Лимиты, могут забанить, не для массовых рассылок
API почтовых сервисов Удобно, высокая доставляемость, аналитика Платно при больших объёмах, требуется регистрация и подтверждение домена

Мифы и лайфхаки

  • Миф: “Куплю VPS и буду слать рассылки без ограничений”.
    Реальность: 99% писем уйдёт в спам, IP быстро попадёт в блэклисты, VPS могут заблокировать.
  • Миф: “Gmail SMTP — бесплатное решение для рассылок”.
    Реальность: Лимиты 100-500 писем в день, за подозрительную активность аккаунт банят.
  • Лайфхак: Для массовых рассылок — только специализированные сервисы (Mailgun, UniSender, SendPulse). Для транзакционных писем — можно использовать внешний SMTP.
  • Лайфхак: Проверяй доставляемость на mail-tester.com и mxtoolbox.com
  • Лайфхак: Не шли письма с “no-reply@ip-адрес”, указывай свой домен и подписывай письма DKIM

Пошаговый чек-лист для отправки писем с VPS

  1. Проверь, открыт ли порт 25 (или 587) на VPS
  2. Проверь, не в чёрных ли списках твой IP (mxtoolbox)
  3. Настрой SPF, DKIM, PTR, DMARC для своего домена
  4. Выбери способ отправки: свой SMTP, внешний SMTP, API
  5. Протестируй отправку на mail-tester.com
  6. Следи за лимитами и репутацией домена/IP

Похожие решения

  • Использование готовых почтовых панелей (например, Mailcow, Mail-in-a-Box)
  • Использование CMS-плагинов для рассылок (WP Mail SMTP для WordPress, PHPMailer для PHP и др.)
  • Аренда выделенного IP у хостера для чистой репутации
  • Использование VPS только как клиента (а письма — через сторонний SMTP или API)

Заключение: что выбрать и почему?

Если тебе нужна рассылка или отправка писем с VPS, лучше всего использовать внешний SMTP или API почтовых сервисов. Это проще, быстрее, безопаснее, и письма реально доходят до адресатов. Свой почтовый сервер на VPS — это для энтузиастов, либо если ты понимаешь все риски и умеешь настраивать почтовики.

Рекомендация: Для массовых рассылок — только профессиональные сервисы (Mailgun, UniSender, SendPulse, SendGrid и др.). Для уведомлений и транзакционных писем — внешний SMTP (Gmail, Яндекс, корпоративный почтовик). Всегда настраивай SPF, DKIM, PTR и проверяй репутацию домена/IP. Не забывай тестировать доставляемость!

Если остались вопросы — гугли официальные доки, общайся на профильных форумах и не стесняйся тестировать разные решения. Удачных рассылок и чистых инбоксов!


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

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

Leave a reply

Your email address will not be published. Required fields are marked