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

59

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

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

    
задан Stefano Palazzo 29.07.2011 в 08:13
источник

4 ответа

46

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

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

"Easy" (tl; dr)

Во-первых, я хочу обратиться к тому, что будет выглядеть как проще всего .

sudo tasksel install mail-server

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

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

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

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

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

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

Postfix

Это более или менее простая часть установки. Просто установите пакет 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

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

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

Accounts

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 protected] 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 protected] set systempw

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

makeuserdb

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

authtest [email protected]

Должно возникнуть нечто похожее на

Authentication succeeded.

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

Если вы видите «Authentication FAILED: Operation not allowed» вместо этого, отредактируйте / etc / courier / authdaemonrc и добавьте authuserdb в строку authmodulelist.

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

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

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

*: :fail: No user at this address.

Что это говорит: Если входящая почта не соответствует какой-либо учетной записи электронной почты, которую я имею в файле, тогда почта должна быть провалена и отброшена с сообщением: «Нет пользователя по этому адресу». Поэтому вся почта, посланная, чтобы сказать: [email protected] будет отскакиваться как сбой.

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

fwd: [email protected]
*: :fail: No user at this address.

Таким образом, хотя [email protected] не соответствует учетным записям электронной почты на сервере, он совпадает с файлом /etc/valiases , и почта будет перенаправлена ​​на [email protected] Однако, foo @ example .com по-прежнему будет работать с сообщением «Нет пользователя по этому адресу».

    
ответ дан Marco Ceppi 29.07.2011 в 20:41
источник
14

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

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

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

  • Ссылка
ответ дан Jo-Erlend Schinstad 29.07.2011 в 18:35
5

У меня нет «отличного ответа», но вы можете найти эти ссылки полезными Ссылка Почта и < a href="https://help.ubuntu.com/community/Postfix"> Ссылка

    
ответ дан fragos 29.07.2011 в 09:22
4

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

Postfix

Dovecot (imap и pop3)

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

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

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

и

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

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

    
ответ дан NimChimpsky 29.07.2011 в 09:27