Na moim VPS działa Ubuntu i chciałbym móc otrzymywać wiadomości e-mail do mojej domeny.
Jak w łatwy sposób skonfigurować serwer poczty, aby to zrobić?
Na moim VPS działa Ubuntu i chciałbym móc otrzymywać wiadomości e-mail do mojej domeny.
Jak w łatwy sposób skonfigurować serwer poczty, aby to zrobić?
Odpowiedzi:
Tak skonfigurowałem pocztę na naszych maszynach produkcyjnych. Oto kryteria, których potrzebowaliśmy:
Po pierwsze, chcę zająć się tym, co wydaje się najłatwiejszym rozwiązaniem.
sudo tasksel install mail-server
Wystąpiło kilka problemów z tym, gdy wypróbowaliśmy to: Najpierw instaluje Dovecot, co jest w porządku dla większości, ale uznaliśmy, że Kurier jest lepszy z tych dwóch dla naszych potrzeb. Po drugie, wykorzystuje Postfix, co jest świetne, ale potrzebujemy również Exima, ponieważ jest to mocniejszy serwer MTA / SMTP. Po trzecie, instaluje MySQL - w konfiguracji, której używam, wolimy płaskie pliki do konfiguracji, ponieważ jest to jeden punkt krytyczny. Pomyśl, co by się stało, gdyby MySQL rozbił się z nieznanego powodu. W przeciwnym razie reszta pakietów jest dość prosta i łatwa w utrzymaniu dla małej usługi pocztowej (pomyśl o sumie 1-2 domen e-mail).
Odchodzimy nieco poza ścieżkę normalnych konfiguracji, ale ułatwia to zarządzanie.
Cała nasza poczta jest przechowywana w /var/mail/virtual/<domain>/<user>/mail
więc dla przyszłych przykładach będę używał email@example.com
, fwd@example.com
, foo@example.com
aby reprezentować adres e-mail, aby przejść do spedytora example@gmail.com
i zły adres odpowiednio. W powyższym przykładzie byłoby to /var/mail/virtual/example.com/email/mail
.
Prowadzę również listę wszystkich domen na serwerze, /etc/valiases
ale więcej o tym później.
To mniej więcej łatwa część konfiguracji. Wystarczy zainstalować postfix
pakiet.
Zainstaluj Exim z apt-get install exim4 exim4-base exim4-config exim4-daemon-heavy
Po zainstalowaniu musisz edytować domyślną konfigurację exim, aby zastąpić lub dodać następujące wartości:
domainlist local_domains = @:localhost:dsearch;/etc/valiases:dsearch;/var/mail/virtual
daemon_smtp_ports = smtp : 587 : 465
MAIN_TLS_ENABLE = yes
(Te linie pojawią się w różnych częściach pliku, zamień odpowiednio każdą)
Po zakończeniu przebuduj konfigurację exim za pomocą update-exim4.conf
To kończy zmiany wymagane dla Exim
Zainstalować Courier z courier-base
tym należy zainstalować courier-authdaemon
, courier-authlib*
, courier-imap*
, courier-pop*
, courieruserinfo
,courier-ssl
Szczerze mówiąc, niewiele jest konfiguracji poza standardem. Musisz tylko utworzyć bazę danych użytkowników.
Exim i Kurier sprawdzają kilka miejsc, aby sprawdzić, czy login lub przychodząca wiadomość e-mail są prawidłowe. Exim sprawdza, czy domena jest wymieniona jako lokalna nazwa hosta, czy domena jest w domenie /var/mail/virtual
lub czy domena jest w domenie /etc/valiases
.
W końcu stworzyłem kilka narzędzi, aby usprawnić ten proces - ale dodanie nowego użytkownika polega na:
mkdir -p /var/mail/virtual/example.com/email
chown -R mail.mail /var/mail/virtual/example.com/
maildirmake /var/mail/virtual/example.com/email/mail
chown -R mail.mail /var/mail/virtual/example.com/
Następnie dodaj adres do kuriera userdb - aby mogli się zalogować
userdb email@example.com set uid=8 gid=8 home=/var/mail/virtual/example.com/email mail=/var/mail/virtual/example.com/email/mail
Pamiętaj, aby w razie potrzeby zastąpić wartości. Ponadto - uid
i gid
muszą być numerycznymi identyfikatorami użytkownika / grupy dla użytkownika poczty.
userdbpw -md5 | userdb email@example.com set systempw
Spowoduje to monit o podanie hasła, wprowadź hasło, którego chcesz użyć dla konta.
makeuserdb
Na koniec wygeneruj pliki skrótu / cienia userdb. Uruchom ponownie Kuriera i sprawdź, czy zmiany działają:
authtest email@example.com
Powinien produkować coś podobnego do
Authentication succeeded.
Authenticated: email@example.com (uid 8, gid 8)
Home Directory: /var/mail/virtual/example.com/email
Maildir: /var/mail/virtual/example.com/email/mail
Quota: (none)
Encrypted Password: $1$LOLCATS$THISWILLBEAHASH.
Cleartext Password: (none)
Options: (none)
Jeśli zobaczysz komunikat „Uwierzytelnianie nie powiodło się: Operacja niedozwolona”, zamiast tego edytuj plik / etc / courier / authdaemonrc i dodaj authuserdb do linii authmodulelist.
Po potwierdzeniu wszystkich testów uruchom ponownie różne usługi ( courier-authdaemon
, exim4
), otwórz porty 143, 25, 586, 495, 110 i skonfiguruj konta w swoim ulubionym kliencie pocztowym.
Dla każdej domeny należy utworzyć plik /etc/valiases
(utwórz, jeśli nie istnieje) zawierający przynajmniej następujący wiersz:
*: :fail: No user at this address.
Co to mówi: jeśli przychodząca poczta nie pasuje do żadnego konta e-mail, które mam w archiwum, to poczta powinna zostać uszkodzona i odesłana z komunikatem: „Żaden użytkownik nie ma tego adresu”. Tak więc cała poczta wysłana z informacją: foo@example.com
zostanie odrzucona jako niepowodzenie.
Mamy jednak kilka adresów e-mail, które chcielibyśmy utrzymywać gdzie indziej - powiedzmy przyklad@gmail.com - aby to zrobić, musimy utworzyć, /etc/valiases/example.com
a zawartość pliku powinna wyglądać następująco:
fwd: example@gmail.com
*: :fail: No user at this address.
W ten sposób, mimo że fwd@example.com nie pasuje do żadnego konta e-mail na serwerze, pasuje do /etc/valiases
pliku, a poczta zostanie przesłana do example@gmail.com - Jednak foo@example.com nadal zawiedzie z komunikat „Brak użytkownika pod tym adresem”.
Najłatwiej jest uruchomić sudo tasksel install mail-server
. To da ci serwer e-mail z rozsądnymi ustawieniami domyślnymi. Wszystko, co musisz zrobić, to odpowiedzieć na kilka pytań. Oczywiście nadal możesz wykonywać ręczne konfiguracje, jeśli jest to konieczne, ale w większości przypadków tak nie będzie. Postępuj zgodnie ze wskazówkami na ekranie i wszystko powinno być w porządku.
Czytanie na temat administracji usługami e-mail jest jednak absolutnie godne polecenia.
Oficjalne referencje:
sudo tasksel --task-packages mail-server
Nie mam „świetnej odpowiedzi”, ale linki te mogą okazać się pomocne https://help.ubuntu.com/community/PostfixBasicSetupHowto#Receiving Mail i https://help.ubuntu.com/community/Postfix
Po prostu robię to sam, naprawdę potrzebujesz postfiksu, aw moim przypadku chciałem również serwera imap, aby móc używać fajnego klienta GUI (nie wspominając żadnych nazw) na innym komputerze. Użyłem tych dokumentów:
Dovecot (imap i pop3)
To jest naprawdę dość proste, uruchomiłem go w ciągu kilku minut i otrzymuję e-maile. Jest to także przydatne, aby sprawdzić, że wszystko jest ustawione ok pingability .
Aha, i oczywiście będziesz musiał poprawnie skonfigurować wpisy dns, jak poniżej (w oparciu o ustawienia, które działały dla mnie):
name type content
@ A ???.???.??.??
mail A ???.???.??.??
i
MX Records
Name Priority
mail.mydomain.com. 1
mail2.mydomain.com. 2
Zwróć uwagę na kropkę na końcu serwerów pocztowych i w razie potrzeby wstaw adres IP i nazwę domeny.