Jak mogę skonfigurować Agenta transferu poczty?

17

Zamierzam używać muttdo wysyłania automatycznych wiadomości e-mail za pośrednictwem cronlub atz załącznikami na mój adres gmail, gdy określone zdarzenia mają miejsce na moim serwerze Ubuntu. Obecnie muttnie mogę wysyłać wiadomości e-mail na zewnętrzne adresy e-mail. Uważam, że dzieje się tak, ponieważ muszę skonfigurować Agenta przesyłania poczty. Jak przejść do wyboru odpowiedniego MTA i jak go skonfigurować, aby wykonać to, czego potrzebuję?

conorgriffin
źródło
1
Nie potrzebujesz mutt, aby mieć crona lub przy wysyłaniu maili na swoje konto Gmail. Wystarczy odpowiednio skonfigurowany MTA.
JanC
Muszę być w stanie dołączyć załączniki do poczty wychodzącej, więc pomyślałem, że będę potrzebował do tego kundla.
conorgriffin
1
To ważne pytanie. Wielu z nas konfiguruje serwery Linux i potrzebuje jakiegoś sposobu na wysyłanie zdarzeń i raportów. W wielu (większości!) Przypadkach pełnoprawny serwer pocztowy jest nadmierny. Dowiedziałem się, że ostatnio konfigurowałem Postfix do takiego zadania. Powinienem był skonfigurować narzędzie tylko do wysyłania, takie jak jedno z nich, i zrobię to w przyszłości.
Don Faulkner

Odpowiedzi:

20

Wybierając MTA do zainstalowania, należy dokonać kilku wyborów; pierwszy dotyczy tego, czy chcesz MTA tylko do wysyłania, czy potrzebujesz pełnoprawnego serwera pocztowego.

Ten post na Unix.SE zawiera pełną listę dostępnych MTA wysyłających; wszystkie z nich są już spakowane dla Ubuntu 10.10. Wybierając MTA tylko do wysyłania, warto rozważyć kilka rzeczy:

  1. czy może kolejkować wiadomości e-mail w celu późniejszego dostarczenia w przypadku niepowodzenia: IIRC, nullmailermoże to zrobić tylko .

  2. czy zastąpi systemowego agenta dostarczającego pocztę (poszukaj wiersza Provides: mail-transport-agentna wyjściuapt-cache show package ). Jeśli tak, to cała poczta pochodząca z systemu (w tym raporty z zadań cron, statystyki popularności itp.) Będą obsługiwane przez zainstalowaną MTA: jeśli nie skonfigurujesz poprawnych aliasów poczty dla użytkownika root i innych użytkowników, wiadomość e-mail może zostać dostarczony pod niewłaściwy adres (zazwyczaj niektórzy sysadmin u twojego dostawcy usług internetowych). Obecnie pakiety nullmailer, esmtp-run(ale nie esmtp) i ssmtpnależą do tej kategorii.

  3. Wszystkie MTA wysyłające tylko przekażą Twój adres e-mail na inny serwer (nazywany „hostem przekaźnikowym” lub „smarthostem”; zazwyczaj jest to serwer SMTP Twojego dostawcy usług internetowych), a następnie pozwolą obsłużyć wszystkie szczegóły prawdziwej poczty internetowej. Musisz dowiedzieć się, czy istnieją jakieś specjalne wymagania dotyczące połączenia z serwerem ISP (np. Pewnego rodzaju uwierzytelnianie lub TLS) i wybrać MTA, które obsługuje wymagane funkcje (na przykład ssmtpnie obsługuje żadnego rodzaju uwierzytelniania lub SSL / TLS).

W pełni rozwinięte serwery pocztowe obejmują exim , postfix i sendmail . Skrypt instalacyjny po instalacji dla Debian / Ubuntu wykona świetną robotę, tworząc działającą konfigurację dla niektórych typowych instalacji (dostarczanie poczty tylko do systemu lokalnego; wysyłanie wiadomości e-mail przez „smarthost” - tj. Serwer poczty, który kierujesz wszystkie wiadomości e-mail, zazwyczaj host SMTP usługodawcy internetowego; strona internetowa z pełną łącznością przychodzącą i wychodzącą). IMHO, postfix jest najłatwiejszy do uruchomienia i konfiguracji, ale ponieważ jest w stanie, jego instrukcja konfiguracji jest znacznie dłuższa niż w przypadku dowolnego MTA wysyłającego.

Ponadto, realne ryzyko związane z konfiguracją serwera pocztowego polega na tym, że jeśli popełnisz błąd w konfiguracji lokalnej, otrzymasz pocztę dostarczoną w niewłaściwe miejsce (czytaj: zagubiony) lub - w przeciwnym razie - z systemem z otwartym przekaźnikiem które mogą być wykorzystywane przez spamerów (i, zaufaj mi, mogą znaleźć otwarty przekaźnik, zanim zdasz sobie sprawę, że twój serwer to taki).

Radzę więc zacząć od MTA tylko do wysyłania, a następnie uaktualnić do pełnego serwera pocztowego tylko wtedy, gdy zobaczysz taką potrzebę (nie jest tak, jeśli chcesz tylko wysłać e-maile na swój adres Gmail).

Riccardo Murri
źródło
OK, powiedzmy, że skonfigurowałem adres e-mail, taki jak [email protected], i włączam smtp na koncie Gmail. Czy mogę skonfigurować program kliencki na serwerze, aby wysyłał pocztę za pomocą tego konta Gmail za pośrednictwem SMTP, a tym samym uniknąć złożoności pełnej konfiguracji serwera poczty?
conorgriffin
@ Griffo: Tak, właśnie to robi MTA „tylko do wysyłania”; po prostu użyj msmtp(zgodnie z sugestią w odpowiedzi ixtmixilix) lub wybierz jedną z listy pod adresem URL, który opublikowałem powyżej.
Riccardo Murri,
+1 dla nullmailera ... Używam go na moich serwerach i jest to bardzo wygodne. Bardzo lekki, stosunkowo łatwy w konfiguracji. A kiedy to zadziała, po prostu nie musisz się już tym przejmować :)
Mała Jawa
Również mda (The DragonFly Mail Agent) może kolejkować wiadomości e-mail w celu późniejszego dostarczenia.
Tomasz Zieliński
To dma, a nie mda (The DragonFly Mail Agent).
Andreas J.,
6

Polecam msmtp. Konfigurowanie innych systemów pocztowych, takich jak sendmail, jest zdecydowanie dość kłopotliwe. Po msmtpskonfigurowaniu możesz go używać mutt, a także maskować, sendmailaby programy nie znały różnicy między dwoma MTA. Pełne szczegóły dostępne na stronie internetowej.

ixtmixilix
źródło
3

Poniższe linki zawierają wszystkie opcje MTA, które możesz wybrać, w zależności od wersji Ubuntu:

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

Osobiście uważam, że ssmtpjest bardzo łatwy do skonfigurowania i uruchomienia, wystarczy 2 polecenia:

$ sudo aptitude install mailutils ssmtp
$ sudo dpkg-reconfigure ssmtp
Tomofumi
źródło
1
Według wiki ArchLinux, ssmtp nie jest już utrzymywana i zalecają msmtp .
sebastian-c