Как мне настроить почтовый сервер?

Мой VPS работает под управлением Ubuntu, и я хотел бы иметь возможность получать электронную почту на мой домен.

Как мне легко настроить почтовый сервер для этого?

4 ответа

Решение

Вот как я настроил почту на наших производственных машинах. Вот те критерии, которые нам нужны:

  • Аккаунты электронной почты
  • Псевдонимы электронной почты (экспедиторы)
  • IMAP, POP3 и SMTP

"Легко" (тл; др)

Во-первых, я хочу обратиться к тому, что кажется самым простым решением.

sudo tasksel install mail-server

Когда мы попробовали это, возникли некоторые проблемы: во-первых, он устанавливает Dovecot, что хорошо для большинства, но мы сочли Courier лучшим из двух для наших нужд. Во-вторых, он использует Postfix, что замечательно, но нам также нужен Exim, поскольку это более мощный сервер MTA/SMTP. В-третьих, он устанавливает MySQL - в конфигурации, которую я использую, мы предпочитаем плоские файлы для конфигурации, так как это на одну точку разрыва меньше. Подумайте, что случится, если MySQL потерпит крах по неизвестной причине. В остальном остальные пакеты довольно просты и просты в обслуживании для небольшой почтовой службы (всего 1-2 почтовых домена).

Наша Конфигурация

Структура каталогов

Мы немного отклоняемся от пути обычных конфигураций, но это облегчает управление.

Вся наша почта хранится в /var/mail/virtual/<domain>/<user>/mail Так что для будущих примеров я буду использовать email@example.com, fwd@example.com, foo@example.com представлять адрес электронной почты, экспедитор, чтобы перейти к example@gmail.comи плохой адрес соответственно. В приведенном выше примере это будет /var/mail/virtual/example.com/email/mail,

Я также поддерживаю список всех доменов на сервере в /etc/valiases но об этом позже.

постфикс

Это более или менее простая часть установки. Просто установите postfix пакет.

Exim

Установите Exim с apt-get install exim4 exim4-base exim4-config exim4-daemon-heavy После установки вам нужно будет изменить конфигурацию exim по умолчанию, чтобы заменить или добавить следующие значения:

domainlist local_domains = @:localhost:dsearch;/etc/valiases:dsearch;/var/mail/virtual
daemon_smtp_ports = smtp : 587 : 465
MAIN_TLS_ENABLE = yes

(Эти строки появятся в разных частях файла, замените каждую соответственно)

Как только это будет завершено, перестройте конфигурацию exim с помощью update-exim4.conf На этом завершаются изменения, необходимые для exim

курьер

Установите Курьер с courier-base это должно установить courier-authdaemon, courier-authlib*, courier-imap*, courier-pop*, courieruserinfo, courier-ssl

Там, честно говоря, не так много конфигурации вне стандарта. Вам просто нужно создать пользовательскую базу данных.

Счета

Exim и Courier проверяют несколько мест, чтобы увидеть, действительны ли логин или входящее письмо. Exim проверяет, указан ли домен как локальное имя хоста, или домен находится в /var/mail/virtual или если домен находится в /etc/valiases,

Создание учетных записей электронной почты

В конце концов я создал несколько инструментов, чтобы упростить этот процесс, но добавление нового пользователя приводит к следующему:

mkdir -p /var/mail/virtual/example.com/email
chown -R mail.mail /var/mail/virtual/example.com/
maildirmake /var/mail/virtual/example.com/email/mail
chown -R mail.mail /var/mail/virtual/example.com/

Затем добавьте адрес курьера userdb - чтобы они могли войти

userdb email@example.com set uid=8 gid=8 home=/var/mail/virtual/example.com/email mail=/var/mail/virtual/example.com/email/mail

Обязательно замените значения там, где это необходимо. Также - uid а также gid должен быть числовым идентификатором пользователя / группы для пользователя почты.

userdbpw -md5 | userdb email@example.com set systempw

Вам будет предложено ввести пароль, введите пароль, который вы хотите использовать для учетной записи.

makeuserdb

Наконец, сгенерируйте файлы userdb hash / shadow. Перезапустите Courier и проверьте, работают ли ваши изменения:

authtest email@example.com

Должен производить что-то похожее на

Authentication succeeded.

     Authenticated: email@example.com  (uid 8, gid 8)
    Home Directory: /var/mail/virtual/example.com/email
           Maildir: /var/mail/virtual/example.com/email/mail
             Quota: (none)
Encrypted Password: $1$LOLCATS$THISWILLBEAHASH.
Cleartext Password: (none)
           Options: (none)

Если вы видите "Сбой аутентификации: операция не разрешена", вместо этого отредактируйте файл / etc / courier / authdaemonrc и добавьте authuserdb в строку authmodulelist.

После подтверждения всех тестов перезапустите различные задействованные службы (courier-authdaemon, exim4), откройте порты 143, 25, 586, 495, 110 и настройте учетные записи в своем любимом почтовом клиенте.

Создание псевдонимов электронной почты

Для каждого домена вы должны создать файл в /etc/valiases (создать, если он не существует) по крайней мере со следующей строкой:

*: :fail: No user at this address.

Что это говорит: если входящая почта не совпадает ни с одной учетной записью электронной почты, которая у меня есть в файле - тогда письмо должно быть отказано и получено сообщение "Нет пользователя по этому адресу". Так что все письма отправлены сказать: foo@example.com будет отскочил как провал.

Тем не менее, у нас есть несколько адресов электронной почты, которые мы хотим сохранить в другом месте - например, example@gmail.com - для этого нам нужно создать /etc/valiases/example.com и содержимое файла должно быть следующим:

fwd: example@gmail.com
*: :fail: No user at this address.

Таким образом, даже если fwd@example.com не соответствует ни одной учетной записи электронной почты на сервере, он совпадает в /etc/valiases файл и письмо будет отправлено на example@gmail.com - однако, foo@example.com все равно не будет работать с сообщением "Нет пользователя по этому адресу".

Самый простой способ - бежать sudo tasksel install mail-server, Это даст вам почтовый сервер с нормальными настройками. Все, что вам нужно сделать, это ответить на несколько вопросов. Очевидно, что вы все еще можете выполнять ручную настройку, если это необходимо, но в большинстве случаев этого не произойдет. Просто следуйте инструкциям на экране, и все будет хорошо.

Чтение по администрированию почтовых сервисов абсолютно рекомендуется.

Официальные ссылки:

У меня нет "отличного ответа", но вам могут пригодиться эти ссылки https://help.ubuntu.com/community/PostfixBasicSetupHowto Mail и https://help.ubuntu.com/community/Postfix

Просто делал это сам, вам действительно нужен постфикс, и в моем случае я хотел также сервер imap, чтобы я мог использовать хороший графический клиент (не говоря уже о каких-либо именах) на другой машине. Я использовал эти документы:

постфикс

Голубятня (imap и pop3)

Это на самом деле довольно просто, я запустил его и запустил через несколько минут, и я получаю электронные письма. Это также полезно для проверки того, что все настроено нормально.

О, и вам, конечно, придется правильно настроить записи DNS, как показано ниже (в зависимости от настроек, которые у меня работали):

name   type   content
  @      A     ???.???.??.??    
mail     A     ???.???.??.??

а также

         MX Records
Name                 Priority
mail.mydomain.com.      1
mail2.mydomain.com.     2

Обратите внимание на полную остановку в конце почтовых серверов и введите свой IP-адрес и имя домена, где это необходимо.

Другие вопросы по тегам