Какова наилучшая настройка MTA для домашнего / портативного компьютера (* не * сервер)?

2608
thomasrutter

Что такое хорошая настройка MTA (например, Postfix или что-то еще) для домашнего компьютера за NAT или ноутбука, который не всегда подключен к сети?

Я прочитал много руководств по Postfix о том, как настроить его так или иначе, но они обычно ориентированы на компьютеры, которые являются серверами, т.е.

  • иметь статический IP
  • есть доменное имя
  • всегда подключены к одной сети

Мои требования, я думаю:

  • Возможность перенаправить почту для локальных пользователей на другой сервер по моему выбору.
  • Нет прослушивания входящих SMTP-соединений - только исходящие
  • Возможность маршрутизации исходящей почты через внешний SMTP-сервер с аутентификацией (и, возможно, шифрованием)

Если не Postfix, мне нужен MTA, который может ставить в очередь письма, если у него временно нет подключения к Интернету.

10
Я посмотрел в nullmailer, который выглядит довольно идеальным, за исключением того, что а) в настройках по умолчанию пароль smtp доступен для чтения всем пользователям (виден всем локальным пользователям) и б) я не уверен в том, как он иногда обрабатывает сервер smtp недоступен или отказывается / подпрыгивает почта. thomasrutter 13 лет назад 0
С момента написания этого вопроса я стал намного лучше знаком с Postfix и понял, что он на самом деле довольно универсален - я могу сделать это довольно легко. Я также дважды думал о том, чтобы позволить локальным компьютерам пересылать почту кому-либо в Интернете через мой внешний SMTP-сервер. Теперь, если они хотят отправлять почту на произвольные адреса, они должны войти на внешний почтовый сервер. Мой локальный ретранслятор будет пересылать почту только на мои собственные домены. thomasrutter 11 лет назад 0

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

3
grawity

Я использовал Postfix на моем компьютере, и он работал очень хорошо. Единственный недостаток этого является, что Postfix всегда работает несколько демонов ( master, qmgrи т.д.), и с Exim я мог бы уменьшить, что к sendmail -qзаписи кронтаба.


Для Postfix:

  • задавать relayhost
  • для SMTP TLS, smtp_tls_security_level=encrypt
  • для аутентификации SMTP-реле smtp_sasl_auth_enableиsmtp_sasl_password_maps
  • закомментировать smtpсервис вmaster.cf

Для Exim:

  • добавить маршрутизатор шлюза ( пример )
  • закомментировать dnslookupроутер
  • для SMTP TLS: добавьте новый транспорт, используя, smtpно с включенным TLS ( документы )
  • остановить демон exim (чтобы отключить прослушивание SMTP)
  • и добавьте sendmail -qв cron пользователя root (чтобы очищать очередь каждые X минут; обычно это делает демон)
Мой голос должен был бы использовать Exim. Он может быть настроен для работы без демонов, и, самое большее, имеет одного демона, который активируется каждый период запуска очереди. Он легко настраивается на использование смарт-хоста, который будет соответствовать вашим требованиям. BillThor 13 лет назад 0
2
Mark E. Haase

Если у вас есть учетная запись Gmail, вы должны установить postfix и настроить его для использования своей учетной записи Gmail в качестве ретранслятора.

Например, http://www.marksanborn.net/linux/send-mail-postfix-through-gmails-smtp-on-a-ubuntu-lts-server/

Основная проблема с настройкой постфикса на роуминг-машине (похоже, что вы на ноутбуке) заключается в том, что электронная почта, отправленная с доменов без записей MX или PTR, с большой вероятностью попадет в папку спама или даже не будет доставлена ​​на все.

Однако, передавая вашу электронную почту через учетную запись gmail, вы значительно повышаете вероятность получения своей электронной почты.

Кстати, какова была ваша конечная цель? Похоже, вы получаете почту на локальную учетную запись Unix (может быть, из cron?) И хотите переслать ее туда, где вы на самом деле ее прочтете. Правильный?

У меня есть внешний почтовый сервер, который я хотел бы переслать, и я думал об использовании Postfix (или чего-то подобного) на ноутбуке, чтобы просто пересылать любую исходящую почту на этот сервер. Но я не уверен, как настроить Postfix таким образом, и даже если Postfix - лучший выбор. Я хочу убедиться, что если исходящая почта генерируется локально, а не в сети, она ставится в очередь и ретранслируется позже. Возможно, я бы также хотел, чтобы Postfix или что-то еще проходило аутентификацию на моем внешнем почтовом сервере, так что ему будут доверять (без необходимости ослаблять настройку на удаленном почтовом сервере). thomasrutter 13 лет назад 0
Настройка postfix довольно проста в большинстве linux. Просто 'apt-get install postfix' (или каков ваш менеджер pkg), а затем отредактируйте /etc/postfix/main.cf и установите строку "relayhost = [host]: port". (Квадратные скобки требуются, если вы используете полное доменное имя.) Postfix также будет помещать в очередь сообщения электронной почты, когда он не сможет достичь узла ретрансляции, но вам может потребоваться настроить его определение «сбой» в зависимости от того, как часто вы не сможете достичь узла ретрансляции. http://www.postfix.org/QSHAPE_README.html#deferred_queue Mark E. Haase 13 лет назад 0
0
joschi

Большинство крупных MTA, таких как Postfix, Sendmail, Exim или qmail, излишни для ваших требований.

Попробуйте использовать минимальный MTA, как ssmtp, nbsmtpили nullmailerвместо этого. Их конфигурация очень проста, и они могут делать все, что вы упомянули.

Может ли кто-нибудь из них ставить почту в очередь, пока я не подключен к сети (скажем, соединение обрывается или это ноутбук, используемый в разных местах), и отправлять его при повторном подключении? Потому что мне действительно нужно, чтобы почта НЕ входила в черную дыру, если просто нет сетевого соединения. thomasrutter 13 лет назад 0
Я бы предложил [esmtp] (http://esmtp.sourceforge.net/), даже если он больше не поддерживается, потому что он работает без проблем. У него также есть поддержка очереди, но я не использовал его. przemoc 13 лет назад 0
0
chickenkiller

Вы смотрели на Лэмсона ? Мне проще настроить, чем постфикс и друзья ...

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