Как настроить встроенный Postfix в Mac OS X, чтобы он не подключался напрямую к целевым хостам, кроме себя?

2229
Kevin Reid

Я запускаю задания cron на своем ноутбуке Mac и поэтому хочу, чтобы почтовый демон мог отправлять выходные письма на мою обычную почтовую учетную запись. У меня это работает (у моей локальной учетной записи есть .forwardфайл), но я часто в сетях, где не удается подключиться к MX назначения на порту 25.

Поэтому я хотел бы, чтобы локальный почтовый демон отправлял свою исходящую почту, независимо от места назначения, на другой SMTP-сервер (который является перенаправлением порта SSH на сервер, находящийся под моим контролем). Как я могу настроить поставляемый Apple Postfix для этого?

Обновить:

Я попытался установить relayhost = [localhost]:40125(где 40125 - это переадресация порта SSH), но, хотя теперь я могу отправлять почту на правильный почтовый адрес в Интернете (например kpreid@switchb.org), почта для cron (которая адресована kpreid@<whatever the DHCP hostname is>) не доставляется. Из одного скачка, который я видел, видно, что это заставляет всю почту, даже для локального имени хоста, сначала идти на relayhost.

Поэтому мне нужен способ ретрансляции, [localhost]:40125 если только адресный домен не является доменом этого компьютера (который часто меняется).

2

1 ответ на вопрос

2
JanC

Вам нужно установить relayhostдирективу /etc/postfix/main.cf(и, возможно, настроить некоторые другие параметры, но это трудно сказать, не зная конфигурацию по умолчанию от Apple).

Это сработало; Никаких дополнительных настроек не требуется. Я добавил `relayhost = [localhost]: 40125`, где 40125 - это переадресация порта SSH (` -L localhost: 40125: localhost: 25`); согласно комментариям в файле, квадратные скобки указывают на прямое подключение, а не на поиск MX для домена (что может быть ненужным для localhost, но эй). Kevin Reid 14 лет назад 0
К сожалению, хотя это работает для обычной исходящей почты, похоже, что это приводит к сбою почты cron-job, потому что она пытается отправить ""@`" через relayhost (по крайней мере, я получил один отскок за это), вместо того, чтобы сначала найти `.forward` в локальной учетной записи. Есть предложения? Kevin Reid 14 лет назад 0
Я полагаю, что настройка `mydestination` не верна, или, возможно, одна из других моих настроек *. Вы можете найти объяснение всех доступных настроек в `man 5 postconf`. Кроме того, в Ubuntu (я не уверен, что Mac OS X тоже использует «Vixie cron»?) Можно указать cron, кому отправлять почту, установив переменную окружения MAILTO в crontab (см. «Man 5 crontab»). JanC 14 лет назад 0

Похожие вопросы