Как мне настроить почтовый сервер?
Мой 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-адрес и имя домена, где это необходимо.