Как я могу настроить агента передачи почты?

17

Я намерен использовать muttдля отправки автоматических электронных писем через cronили atс вложениями на мой адрес электронной почты, когда на моем сервере Ubuntu происходят определенные события. В настоящее время muttне удается отправить электронную почту на внешние адреса электронной почты, я считаю, что это потому, что мне нужно настроить агента передачи почты. Как мне выбрать подходящий MTA и как настроить его для выполнения того, что мне нужно?

conorgriffin
источник
1
Вам не нужен Mutt, чтобы иметь cron или отправлять почту на ваш gmail-аккаунт. Любого правильно настроенного MTA должно быть достаточно для этого.
JanC
Мне нужно иметь возможность включать вложения в исходящую почту, поэтому я подумал, что мне понадобится Mutt для этого.
Коноргриффин
1
Это важный вопрос. Многие из нас настраивают серверы Linux и нуждаются в некотором способе рассылки событий и отчетов. Во многих (большинстве!) Случаях полноценный почтовый сервер является излишним. Я узнал, что недавно настраивал Postfix для такой задачи. Я должен был установить инструмент только для отправки, как один из них, и я буду в будущем.
Дон Фолкнер

Ответы:

20

Есть несколько вариантов выбора MTA для установки; Во-первых, хотите ли вы MTA только для отправки или вам нужен полноценный почтовый сервер.

Этот пост Unix.SE содержит полный список доступных MTA только для отправки; все они уже упакованы для Ubuntu 10.10. Есть несколько вещей, которые вы можете рассмотреть при выборе MTA только для отправки:

  1. может ли он ставить электронную почту в очередь для последующей доставки в случае сбоя: IIRC, только nullmailerможет сделать это.

  2. заменит ли он системный агент доставки почты (ищите строку Provides: mail-transport-agentв выводе apt-cache show package). Если это так, то вся почта, исходящая из системы (включая отчеты о заданиях cron, статистику популярности и т. Д.) Будет обрабатываться установленным MTA: если вы не настроите правильные псевдонимы почты для пользователей root и других пользователей, электронная почта может быть доставлено по неправильному адресу (как правило, некоторые системные администраторы у вашего интернет-провайдера). В настоящее время, пакеты nullmailer, esmtp-run(но не esmtp) и ssmtpпопадают в эту категорию.

  3. Все MTA, отправляющие сообщения только для отправки, будут просто пересылать вашу электронную почту на другой сервер (называемый «ретранслятор хоста» или «smarthost»; обычно это SMTP-сервер вашего провайдера), а затем позволяют ему обрабатывать все детали реальной доставки почты через Интернет. Вам необходимо выяснить, существуют ли какие-либо особые требования для подключения к серверу ISP (например, какая-либо аутентификация или TLS) и выбрать MTA, который поддерживает требуемые функции (например, ssmtpне поддерживает какой-либо тип аутентификации или SSL / TLS).

Полноценные почтовые серверы включают exim , postfix и sendmail . Сценарий установки после установки Debian / Ubuntu отлично справится с созданием рабочей конфигурации для некоторых общих настроек (доставка почты только в локальную систему; отправка электронной почты через «smarthost» - т. Е. Почтовый сервер, который вы направляете все ваши электронные письма через, как правило, SMTP-хост вашего провайдера; интернет-сайт с полной входящей и исходящей связью). ИМХО, postfix проще всего запускать и настраивать, но, поскольку он так способен, его руководство по настройке намного длиннее любого из MTA, предназначенных только для отправки.

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

Тогда я бы посоветовал начать с MTA, предназначенного только для отправки, а затем перейти на полный почтовый сервер, только если вы видите в этом необходимость (это не так, если вы просто хотите отправлять электронные письма на ваш адрес GMail).

Риккардо Мурри
источник
Итак, допустим, я настроил адрес электронной почты, например myserver@gmail.com, и включил smtp в учетной записи gmail. Я мог бы настроить клиентскую программу на сервере для отправки почты с использованием этой учетной записи Gmail через SMTP и, следовательно, избежать сложности установки полноценного почтового сервера?
Коноргрифин
@ Гриффо: Да, это именно то, что делает MTA «только для отправки»; просто используйте msmtp(как предложено в ответе ixtmixilix) или выберите один из списка по указанному выше URL-адресу.
Риккардо Мурри
+1 для nullmailer ... Я использую его на своих серверах, и это очень удобно. Очень легкий, относительно простой в настройке. И как только это сработает, вам больше не придется об этом беспокоиться :)
Маленькая Джава
Также mda (почтовый агент DragonFly) может ставить электронные письма в очередь для последующей доставки.
Томаш Зелиньски
Это dma, а не mda (почтовый агент DragonFly).
Андреас Дж.
6

Я бы порекомендовал msmtp. Настройка других почтовых систем, таких как sendmail, определенно довольно хлопотна. После msmtpнастройки вы можете использовать его muttи маскировать его sendmailтак, чтобы программы не знали разницу между двумя MTA. Полная информация доступна на сайте.

ixtmixilix
источник
3

Ссылки ниже предоставляют все варианты MTA, которые вы можете выбрать, в соответствии с вашей версией Ubuntu:

http://packages.ubuntu.com/precise/mail-transport-agent (на 12.04)
http://packages.ubuntu.com/trusty/mail-transport-agent (на 14.04)

Лично я обнаружил, что ssmtpего очень легко настроить и запустить, всего 2 команды:

$ sudo aptitude install mailutils ssmtp
$ sudo dpkg-reconfigure ssmtp
Tomofumi
источник
1
Согласно вики ArchLinux, ssmtp больше не поддерживается, и они рекомендуют msmtp .
Себастьян-ц