Мой VPS работает под управлением Ubuntu, и я хотел бы иметь возможность получать электронную почту на мой домен.
Как мне легко настроить почтовый сервер для этого?
Мой VPS работает под управлением Ubuntu, и я хотел бы иметь возможность получать электронную почту на мой домен.
Как мне легко настроить почтовый сервер для этого?
Ответы:
Вот как я настроил почту на наших производственных машинах. Вот те критерии, которые нам нужны:
Во-первых, я хочу обратиться к тому, что кажется самым простым решением.
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 с 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-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
. Это даст вам почтовый сервер с нормальными настройками. Все, что вам нужно сделать, это ответить на несколько вопросов. Очевидно, что вы все еще можете выполнять ручную настройку, если это необходимо, но в большинстве случаев этого не произойдет. Просто следуйте инструкциям на экране, и все будет хорошо.
Чтение по администрированию почтовых сервисов абсолютно рекомендуется.
Официальные ссылки:
sudo tasksel --task-packages mail-server
У меня нет «большой ответ» , но вы можете найти эти ссылки полезные https://help.ubuntu.com/community/PostfixBasicSetupHowto#Receiving Почта и https://help.ubuntu.com/community/Postfix
Просто делал это сам, вам действительно нужен постфикс, и в моем случае я хотел также сервер imap, чтобы я мог использовать хороший графический клиент (не говоря уже о каких-либо именах) на другой машине. Я использовал эти документы:
Голубятня (imap и pop3)
Это на самом деле довольно просто, я запустил его и запустил через несколько минут, и я получаю электронные письма. Это также полезно , чтобы проверить , что все установлено ки pingability .
О, и вам, конечно, придется правильно настроить записи DNS, как показано ниже (в зависимости от настроек, которые у меня работали):
name type content
@ A ???.???.??.??
mail A ???.???.??.??
а также
MX Records
Name Priority
mail.mydomain.com. 1
mail2.mydomain.com. 2
Обратите внимание на полную остановку в конце почтовых серверов и введите свой IP-адрес и имя домена, где это необходимо.