Статьи

Использование Nullmailer и Mandrill для Outboud Mail вашего сервера Ubuntu

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

Это все может измениться сегодня. Познакомьтесь с  Мандриллом . Mandrill — это служба исходящей электронной почты, предоставляемая  службой  почтовой рассылки Mailchimp, так что у них есть все деньги, навыки и интерес, чтобы их SMTP-сервер работал и черный список спама был свободен. В этом посте обсуждается, как использовать Mandrill в  качестве  бэкэнда Nullmailer , чтобы ваш сервер мог легко отправлять электронную почту через Mandrill SMTP.

1. Преимущества Mandrill

Мандрил это

  • Настоящий SMTP-сервер с SMTP и HTTP API
  • 12 тысяч бесплатных писем в месяц — очень щедро от них
  • Владелец заинтересован в том, чтобы не допустить попадания в черный список спама (их основным продуктом является Mailchimp, служба рассылки новостей)
  • Интерфейс веб-администратора простой и мощный
  • Mandrill поддерживает автоматическое преобразование всех ссылок в электронных письмах

Sidenote: при работе с настройкой адреса From: в электронной почте убедитесь, что доменные записи из адреса электронной почты из белого списка IP-адресов сервера исходящей электронной почты через  записи SPF

2. Преимущества Nullmailer

Nullmailer предоставляет совместимый с sendmail интерфейс электронной почты на вашем сервере.

Вы хотите использовать Nullmailer, потому что

  • Супер прост в настройке
  • Предоставляет локальную очередь
  • Lean, в отличие от тяжеловесных решений для ретрансляции почты Linux (Exim 4, Postfix, Sendmail)

Примечание.  Nullmailer не предоставляет локальному SMTP-серверу прослушивание порта 25 . Я буду вести блог о том, как бороться с этим позже.

3. Настройка Nullmailer + Mandrill для Ubuntu 12.04 LTS

Nullmailer — это эмулятор почтовых команд, как обсуждалось ранее. Многие старомодные веб-приложения, например, написанные на PHP, не имеют хороших опций для прямой установки сервера исходящей электронной почты. Таким образом, вам нужно настроить свой локальный сервер как почтовый ведомый Mandrill. В качестве бонуса начинает работать ваша почтовая UNIX-команда, которая получает поддержку для Cron и т. Д.

4. Установите Nullmailer

Вы хотите, чтобы ваш почтовый трафик был зашифрован SSL. Nullmailer поддерживает это начиная с версии 1.10. Ubuntu 12.04 поставляется с Nullmailer 1.05-1. Чтобы получить последнюю версию Nullmailer для Ubuntu из моего Ubuntu PPA (см. Предыдущий пост в блоге о том, как я перенес Nullmailer в Ubuntu 12.04)

Примечание: это удалит существующие почтовые решения на сервере.

sudo apt-add-repository ppa:mikko-red-innovation/ppa
sudo apt-get update
sudo apt-get install nullmailer=1:1.11-2~precise1~ppa1

( Узнайте больше о моих усилиях по портированию Nullmailer ).

5. Настройте ретрансляцию электронной почты и информацию

Настройте Mandrill для восходящего SMTP в  / etc / nullmailer / remotes :

sudo echo "smtp.mandrillapp.com smtp --port=587 --starttls --user=xxx@example.com --pass=ccc" > /etc/nullmailer/remotes"

Настройка информации о домене:

sudo echo example.com > /etc/nullmailer/defaultdomain
sudo echo "\$hostname.example.com" > /etc/nullmailer/me

Добавьте себя в качестве администратора исходящей почты:

sudo echo "mikko@example.com" > /etc/nullmailer/adminaddr

Сделайте Nullmailer для чтения новых конфигов

service nullmailer reload

6. Тестирование Nullmailer

Ниже приведена командная строка для отправки себе почты:

echo "This is a test message from ${USER}@${HOSTNAME} at $(date)" \
  | sendmail mikko@example.com

Вы можете увидеть журнал Nullmailer:

tail -f /var/log/mail.log /var/log/mail.err
Mar 20 16:30:45 koskela nullmailer[17645]: Trigger pulled.
Mar 20 16:30:45 koskela nullmailer[17645]: Rescanning queue.
Mar 20 16:30:45 koskela nullmailer[17645]: Starting delivery: protocol: smtp host: smtp.mandrillapp.com file: 1363793445.17667
Mar 20 16:30:45 koskela nullmailer[17645]: Starting delivery, 1 message(s) in queue.
Mar 20 16:30:46 koskela nullmailer[17668]: smtp: Succeeded: 250 2.0.0 Ok: queued as 4A66419E03C
Mar 20 16:30:46 koskela nullmailer[17645]: Sent file.
Mar 20 16:30:46 koskela nullmailer[17645]: Delivery complete, 0 message(s) remain.

Вы также проверяете сервер локальной почтовой очереди

mailq

Сама Mandrill предоставляет очень, очень хорошую  панель действий  для мониторинга ситуаций с ошибками

Снимок экрана 2013-03-20 в 5.51.14 вечера