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

VPS - самый простой способ начать отправлять электронную почту

Я установил (чистый) Debian 6 на VPS, и я запускаю на нем приложение на базе Django. Все работает нормально, за исключением того, что мне нужно настроить SMTP, чтобы мое приложение (то есть отправитель является локальным) могло отправлять электронные письма своим пользователям (так что получатели находятся в другом месте в Интернете).

Какой способ сделать это проще всего? Debian обычно поставляется с exim4, но у меня проблемы с его настройкой для выполнения этой основной задачи. Есть ли какой-нибудь учебник или набор основных шагов, которые мне нужно проверить?

Мне сейчас не нужна местная доставка по электронной почте.

Когда я пытаюсь отправить электронную почту, используя конфигурацию по умолчанию, вот что я получаю /var/log/exim/mainlog (заменил два домена на foo.com и bar.com):

2011-08-27 18:05:27 1QxLNv-0008EL-60 <= jablan@foo.com H=localhost (foo.com) [127.0.0.1] P=esmtp S=2438
2011-08-27 18:05:27 1QxLNv-0008EL-60 remote host address is the local host: bar.com
2011-08-27 18:05:27 1QxLNv-0008EL-60 == jablan@bar.com R=smarthost defer (-1): remote host address is the local host
2011-08-27 18:05:27 1QxLNv-0008EN-7y <= <> R=1QxLNv-0008EL-60 U=Debian-exim P=local S=567
2011-08-27 18:05:27 1QxLNv-0008EL-60 Frozen
2011-08-27 18:05:27 1QxLNv-0008EN-7y remote host address is the local host: foo.com
2011-08-27 18:05:27 1QxLNv-0008EN-7y == jablan@foo.com <postmaster@foo.com> R=hub_user_smarthost defer (-1): remote host address is the local host
2011-08-27 18:05:27 1QxLNv-0008EN-7y Frozen

Ваш exim4 неправильно настроен.

Вам нужно выяснить, как лучше всего отправлять электронную почту от вашего VPS-провайдера. Это может быть либо через их SMTP-сервер, что означает, что вам необходимо настроить его для smarthost или он может быть доставлен напрямую вашим VPS, что означает, что вам необходимо настроить его как полный Интернет сайт.

В любом случае измените конфигурацию вашего exim4, выполнив:

# sudo dpkg-reconfigure exim4-config

Здесь вы можете выбрать:

internet site; mail is sent and received directly using SMTP
mail sent by smarthost; received via SMTP or fetchmail
mail sent by smarthost; no local mail
local delivery only; not on a network
no configuration at this time                                                                                             

Перенастройте его соответствующим образом.

«Адрес удаленного хоста - это локальный хост» означает, что вы сделали одно из двух:

  • Сказал Exim, что это smarthost, по сути, сам (что бесконечно раздражает); или
  • DNS сообщает, что запись MX / A для целевого домена фактически является той же машиной, и вы не настроили MTA для получения почты для этого домена.

Учитывая, что Exim вздыхает о smarthosts, я бы сказал, что у вас есть первое.

Если вы сконфигурируете установку Exim с помощью верный smarthost (обычно это ваш интернет-провайдер или MSP), он определенно ... ну, не обязательно сработает, но, по крайней мере, даст вам другую ошибку.