Мой VPS запускает Ubuntu, и я хотел бы смочь получить электронное письмо к своему домену.
Как я легко настраиваю почтовый сервер, чтобы сделать это?
Это - то, как у меня есть почта установки на наших производственных машинах. Это критерии, в которых мы нуждались:
Во-первых, я хочу обратиться к тому, что, казалось бы, было бы самым легким решением.
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 с 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 все еще не приведет к сбою с "Никаким пользователем в этом адресе" сообщение.
Самый легкий путь состоит в том, чтобы работать sudo tasksel install mail-server
. Это даст Вам почтовый сервер с нормальными значениями по умолчанию. Все, что необходимо сделать, должен ответить на несколько вопросов. Очевидно, Вы все еще можете реализовать ручные конфигурации впоследствии, если это необходимо, но в большинстве случаев это не будет. Просто следуйте за экранными направлениями, и необходимо быть в порядке.
Чтение на администрировании почтовых сервисов абсолютно рекомендуемо все же.
Официальные ссылки:
У меня нет "большого ответа", но можно найти эти ссылки полезным https://help.ubuntu.com/community/PostfixBasicSetupHowto#Receiving Почта и https://help.ubuntu.com/community/Postfix
Просто выполнение этого самостоятельно, Вы действительно должны снабдить постфиксом, и в моем случае я хотел сервер 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-адрес и доменное имя в соответствующих случаях.