.png)
Мой VPS работает под управлением Ubuntu, и я хотел бы иметь возможность получать электронную почту на свой домен.
Как мне легко настроить почтовый сервер для этого?
решение1
Вот как я настроил почту на наших производственных машинах. Вот критерии, которые нам были нужны:
- Учетные записи электронной почты
- Псевдонимы электронной почты (пересылки)
- 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 protected]
, [email protected]
, [email protected]
для обозначения адреса электронной почты, пересылки [email protected]
и плохого адреса соответственно. В приведенном выше примере это будет /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/
Затем добавьте адрес в базу данных пользователей Courier, чтобы они могли войти в систему.
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
Наконец, сгенерируйте файлы хэша/тени userdb. Перезапустите Courier и проверьте, работают ли ваши изменения:
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: $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.
Что это значит: Если входящая почта не соответствует ни одному из имеющихся у меня аккаунтов электронной почты, то почта должна быть отклонена и возвращена с сообщением: «Пользователя по этому адресу нет». Таким образом, вся почта, отправленная на адрес:, [email protected]
будет отклонена как неудачная.
Однако у нас есть несколько адресов электронной почты, которые мы хотели бы сохранить в другом месте, например[email protected]- для этого нам необходимо создать /etc/valiases/example.com
файл, содержимое которого должно быть следующим:
fwd: [email protected]
*: :fail: No user at this address.
Таким образом, даже если[email protected]не соответствует ни одной учетной записи электронной почты на сервере, он соответствует в /etc/valiases
файле, и почта будет переслана на[email protected]- Однако,[email protected]все равно завершится ошибкой с сообщением «По данному адресу нет пользователя».
решение2
Самый простой способ — запустить sudo tasksel install mail-server
. Это даст вам почтовый сервер с разумными настройками по умолчанию. Все, что вам нужно сделать, это ответить на несколько вопросов. Очевидно, вы все еще можете выполнить ручную настройку впоследствии, если это необходимо, но в большинстве случаев это не будет необходимо. Просто следуйте инструкциям на экране, и все будет в порядке.
Тем не менее, настоятельно рекомендуется почитать об администрировании служб электронной почты.
Официальные ссылки:
решение3
У меня нет «отличного ответа», но эти ссылки могут оказаться вам полезными.https://help.ubuntu.com/community/PostfixBasicSetupHowto#ReceivingПочта иhttps://help.ubuntu.com/community/Postfix
решение4
Только что сделал это сам, вам действительно нужен postfix, и в моем случае я хотел также сервер imap, чтобы я мог использовать хороший клиент gui (не называя никаких имен) на другой машине. Я использовал эти документы:
Голубятня(IMAP и POP3)
На самом деле это довольно просто, запустил его за несколько минут и получаю электронные письма. Это также полезно для проверки того, что все настроено правильнопингуемость.
О, и вам, конечно же, придется правильно настроить записи DNS, как показано ниже (на основе настроек, которые сработали у меня):
name type content
@ A ???.???.??.??
mail A ???.???.??.??
и
MX Records
Name Priority
mail.mydomain.com. 1
mail2.mydomain.com. 2
Обратите внимание на точку в конце почтовых серверов и вставьте свой IP-адрес и доменное имя, где это необходимо.