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

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

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

59
задан 7 February 2012 в 10:50

4 ответа

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

  • Почтовые ящики
  • Дополнительные адреса электронной почты (средства передачи)
  • IMAP, POP3 и SMTP

"Легкий" (tl; доктор)

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

sudo tasksel install mail-server

Несколько проблем с этим произошли, когда мы попробовали это: Сначала это устанавливает Голубятню, которая хорошо для большинства, но мы считали Курьера, чтобы быть лучше двух для наших потребностей. Во-вторых, это использует Постфикс, который является большим, но нам также нужен 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 хеш/теневые файлы. Перезапустите Курьера и тест, если Ваши изменения работают:

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 все еще не приведет к сбою с "Никаким пользователем в этом адресе" сообщение.

48
ответ дан 22 November 2019 в 23:41

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

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

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

14
ответ дан 22 November 2019 в 23:41

У меня нет "большого ответа", но можно найти эти ссылки полезным https://help.ubuntu.com/community/PostfixBasicSetupHowto#Receiving Почта и https://help.ubuntu.com/community/Postfix

5
ответ дан 22 November 2019 в 23:41

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

Постфикс

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

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

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

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

и

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

Отметьте точку в конце почтовых серверов и вставьте Ваш IP-адрес и доменное имя в соответствующих случаях.

4
ответ дан 22 November 2019 в 23:41

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

Похожие вопросы: