У меня есть Ubuntu 10.04 VPS, настроенный для управления sub.example.com, и я настроил Exim для отправки электронной почты, используя этот учебник из библиотеки Linode. Это работает, но в дополнение к отправке электронной почты я понял, что мне нужен один некорневой адрес электронной почты (admin@sub.example.com), чтобы пересылать мне (me@gmail.com).
Я прочитал документацию Exim по этому [1], и я действительно не понимаю, что я должен делать (кажется, что читатели уже знают, какие файлы нужно изменить и что делают определенные директивы). Также есть аналогичный вопрос здесь, начиная с '09, и я не могу сказать, какие из решений (если таковые имеются) применимы к моему случаю или какие файлы необходимо изменить с помощью предложенных строк.
TBH, я был бы так же счастлив, если бы был очень простой способ сделать это без Exim, который не конфликтовал бы с отправкой электронной почты через Exim, как я уже настроил. Я уже пробовал модифицировать /etc/aliases
но безрезультатно.
Вы, наверное, можете сказать, что я новичок в настройке MTA ... заранее спасибо.
[1] На которую я, по-видимому, не могу ссылаться, так как это моя первая публикация на ServerFault. Я считаю, что соответствующий раздел - это Глава 22 - Маршрутизатор перенаправления.
В объяснении, которое следует ниже, я предполагаю, что вы следовали инструкциям в указанном вами URL и выбрали «Интернет-сервер». Я также предполагаю, что «localhost» - одно из допустимых доменных имен, которые ваш exim настроен на распознавание как локальный домен.
Во-первых, формат того, что вы помещаете в / etc / aliases, должен был быть таким:
admin: me@gmail.com
Вам не нужно запускать newaliases в системе exim, это просто обеспечено как уровень совместимости для приложений, ожидающих более "sendmail-подобную" среду. Exim напрямую сканирует содержимое файла / etc / aliases при первом чтении и кэширует результаты, запоминая их для последующих поисков, если они есть. На самом деле он не использует файл /etc/aliases.db, как sendmail.
Когда вы редактируете / etc / aliases, вы можете проверить, как адрес будет обрабатываться из командной строки. В этом первом примере моя система не настроена для обработки псевдонима администратора. Он жалуется, что не знает, как обрабатывать этот адрес, описывая его как недоставленный:
[todd@tlyons /etc/exim4]$ grep admin /etc/aliases
[todd@tlyons /etc/exim4]$ exim -bt admin@localhost
R: system_aliases for admin@localhost
admin@localhost is undeliverable
Во втором примере моя система правильно настроена для обработки псевдонима администратора. Объяснение следует за примером:
[todd@tlyons /etc/exim4]$ grep admin /etc/aliases
admin: me@gmail.com
[todd@tlyons /etc/exim4]$ exim -bt admin@localhost
R: system_aliases for admin@localhost
R: dnslookup for me@gmail.com
me@gmail.com
<-- admin@localhost
router = dnslookup, transport = remote_smtp
host gmail-smtp-in-v4v6.l.google.com [2001:4860:b007::1a] MX=5
host gmail-smtp-in.l.google.com [173.194.79.27] MX=5
host gmail-smtp-in-v4v6.l.google.com [209.85.225.27] MX=5
host alt2.gmail-smtp-in.l.google.com [74.125.45.27] MX=20
host alt3.gmail-smtp-in.l.google.com [173.194.66.27] MX=30
host alt4.gmail-smtp-in.l.google.com [173.194.65.27] MX=40
Первая строка R: - это строка вывода отладки, в которой говорится, что адрес электронной почты обрабатывается с помощью маршрутизатора "system_aliases". Он не выходит и не говорит это прямо, но он нашел «admin» в маршрутизаторе system_aliases и «расширил» его до «me@gmail.com». Как только exim расширяет адрес до чего-то еще (или нескольких вещей), он повторно запускает каждый адрес через маршрутизаторы в поисках совпадения. В приведенном выше примере он пропустил адрес me@gmail.com через маршрутизаторы, и маршрутизатор «dnslookup» совпал. Это означает, что он определил, что необходимо использовать SMTP для отправки на удаленный почтовый сервер. Частично это поиск записей MX для gmail.com, которые он делал и отображал для вас, чтобы увидеть, как он будет пытаться доставить это письмо.
Итак, чтобы ответить на ваш исходный вопрос, скорее всего, вы неправильно ввели данные в свой / etc / aliases. Левая часть - это просто локальная часть (то есть «пользователь» в user@domain.com), за которой следует двоеточие (:), за которым следуют пробелы или табуляции, за которыми следует адрес электронной почты (или адреса электронной почты, соединенные запятыми) доставить его. Вы не можете указать полный адрес электронной почты слева (перед двоеточием).