Получить хороший 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 [email protected] --pass=ccc" > /etc/nullmailer/remotes"
Настройка информации о домене:
sudo echo example.com > /etc/nullmailer/defaultdomain sudo echo "\$hostname.example.com" > /etc/nullmailer/me
Добавьте себя в качестве администратора исходящей почты:
sudo echo "[email protected]" > /etc/nullmailer/adminaddr
Сделайте Nullmailer для чтения новых конфигов
service nullmailer reload
6. Тестирование Nullmailer
Ниже приведена командная строка для отправки себе почты:
echo "This is a test message from ${USER}@${HOSTNAME} at $(date)" \ | sendmail [email protected]
Вы можете увидеть журнал 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 предоставляет очень, очень хорошую панель действий для мониторинга ситуаций с ошибками