O versiune anterioară a acestui tutorial a fost scris de Justin Ellingwood
Introducere
Postfix este un popular open-source Mail Transfer Agent (MTA), care pot fi folosite pentru a ruta și să livreze e-mail pe un sistem Linux. Se estimează că aproximativ 25% din serverele de poștă publică de pe Internet rulează Postfix.
în acest ghid, veți învăța cum să instalați și să configurați Postfix pe un server Ubuntu 20.04., Apoi, veți testa că Postfix este capabil să ruteze corect poșta instalând s-nail
, un agent utilizator de poștă (mua), cunoscut și ca client de e-mail.
rețineți că scopul acestui tutorial este de a vă ajuta să obțineți Postfix în sus și să fie difuzate rapid cu doar unele funcționalități de e-mail goale-oase. Nu veți avea un server de e-mail cu caracteristici complete până la sfârșitul acestui ghid, dar veți avea unele dintre componentele fundamentale ale unei astfel de configurații pentru a vă ajuta să începeți.
cerințe preliminare
pentru a urma acest ghid, veți avea nevoie de următoarele:
- un server care rulează Ubuntu 20.,04 pentru a funcționa ca server de mail Postfix. Acest server ar trebui să aibă un utilizator non-root cu privilegii
sudo
și un firewall configurat cu UFW. Puteți urmări ghidul nostru de configurare inițială a serverului Ubuntu 20.04 pentru a configura acest lucru. - un nume de domeniu complet calificat a indicat serverul Ubuntu 20.04. Puteți găsi ajutor la configurarea numelui dvs. de domeniu cu DigitalOcean urmând documentația noastră de domenii și rețele DNS. Rețineți că, dacă intenționați să accesați e-mailurile dintr-o locație externă, va trebui să vă asigurați că aveți o înregistrare MX care indică și serverul dvs. de e-mail.,
rețineți că acest tutorial presupune că configurați o gazdă care are FQDN de mail.example.com
. Ori de câte ori este necesar, asigurați-vă că schimbați example.com
sau mail.example.com
pentru a reflecta propriul FQDN.
Pasul 1-Instalarea Postfix
Postfix este inclus în depozitele implicite ale Ubuntu, astfel încât să îl puteți instala cu APT.
Pentru a începe, actualizați locale apt
pachetul cache:
- sudo apt update
Apoi instalați postfix
pachet cu următoarea comandă., Rețineți că aici trecem variabila de mediu DEBIAN_PRIORITY=low
în această comandă de instalare. Acest lucru va face ca procesul de instalare să vă solicite să configurați câteva opțiuni suplimentare:
- sudo DEBIAN_PRIORITY=low apt install postfix
acest proces de instalare va deschide o serie de solicitări interactive. În scopul acestui tutorial, utilizați următoarele informații pentru a completa solicitările dvs.:
- General type of mail configuration?: Pentru aceasta, alegeți site-ul internet, deoarece acesta corespunde nevoilor noastre de infrastructură.,
- System mail name: acesta este domeniul de bază utilizat pentru a construi o adresă de e-mail validă atunci când este dată doar porțiunea de cont a adresei. De exemplu, să spunem că numele de gazdă al serverului dvs. este
mail.example.com
. Veți dori probabil să setați sistemul de e-mail numele deexample.com
așa că, având în vedere numele de utilizatoruser1
, Postfix va folosi adresa.
- Rădăcină și postmaster destinatar e-mail: Aceasta este Linux cont care va fi transmis e-mail adresat
root@
șipostmaster@
., Utilizați contul principal pentru acest lucru. În acest caz exemplu, sammy. - alte destinații pentru a accepta e-mail: Aceasta definește destinațiile de e-mail pe care această instanță Postfix le va accepta. Dacă trebuie să adăugați alte domenii pe care acest server va fi responsabil pentru primire, adăugați-le aici. În caz contrar, valoarea implicită va fi suficientă.
- forțați actualizările sincrone pe coada de e-mail?: Din moment ce sunt probabil folosind un sistem de fișiere journaled, accepta nu aici.
- rețele locale: aceasta este o listă a rețelelor pentru care serverul dvs. de e-mail este configurat să transmită mesaje., Valoarea implicită va funcționa pentru majoritatea scenariilor. Dacă alegeți să o modificați, asigurați-vă că este foarte restrictivă în ceea ce privește intervalul de rețea.
- limita dimensiunii căsuței poștale: aceasta poate fi utilizată pentru a limita dimensiunea mesajelor. Setarea la
0
dezactivează orice restricție de dimensiune. - caracter extensie adresă locală: acesta este caracterul care poate fi utilizat pentru a separa porțiunea obișnuită a adresei de o extensie (utilizată pentru a crea pseudonime dinamice). Implicit,
+
va lucra pentru acest tutorial., - protocoale Internet de utilizat: Alegeți dacă să restricționați versiunea IP pe care Postfix o acceptă. În scopul acestui tutorial, alege toate.pentru a fi explicită, acestea sunt setările utilizate în acest ghid:
Notă: Dacă trebuie să reveniți vreodată pentru a modifica aceste setări, puteți face acest lucru tastând:
- sudo dpkg-reconfigure postfix
mesajele vor fi pre-populate cu răspunsurile dvs. anterioare.când procesul de instalare se termină, sunteți gata să faceți câteva actualizări ale configurației Postfix.,
Pasul 2-modificarea configurației Postfix
acum Puteți ajusta unele setări pentru care procesul de instalare a pachetului nu v-a solicitat. Multe dintre setările de configurare ale Postfix sunt definite în fișierul
/etc/postfix/main.cf
. În loc să editați direct acest fișier, puteți utiliza comandapostconf
Postfix pentru a interoga sau a seta setările de configurare.pentru a începe, setați locația pentru căsuța poștală a utilizatorului Ubuntu care nu este rădăcină., În acest ghid, vom folosi formatul Maildir, care separă mesajele în fișiere individuale care sunt apoi mutate între directoare pe baza acțiunii utilizatorului. Opțiunea alternativă care nu este acoperită în acest ghid este formatul mbox, care stochează toate mesajele într-un singur fișier.
setați variabila
home_mailbox
laMaildir/
. Mai târziu, veți crea o structură de directoare sub acest nume în directorul de pornire al utilizatorului., Configurațihome_mailbox
prin tastarea:- sudo postconf -e 'home_mailbox= Maildir/'
Apoi, setați locația de
virtual_alias_maps
tabel, care hărți arbitrare conturi de e-mail pentru Linux sistemul de conturi. Executați următoarea comandă, care hărți tabelul de locație pentru un hash fișier bază de date cu nume/etc/postfix/virtual
:- sudo postconf -e 'virtual_alias_maps= hash:/etc/postfix/virtual'
Acum, că ați definit locul de hărți virtuale fișier în
main.cf
fișier, aveți posibilitatea să creați fișierul în sine și începe cartografierea conturi de e-mail pentru conturile de utilizator de pe sistemul dumneavoastră Linux., Creați fișier cu editorul de text preferat; în acest exemplu, vom folosinano
:- sudo nano /etc/postfix/virtual
Lista de adrese pe care doriți să o accepte e-mail pentru, urmat de un spațiu și de utilizator de Linux doriți ca e-mail livrate.,
De exemplu, dacă doriți pentru a accepta e-mail la
și
și-ar dori să aibă aceste e-mailuri livrate la sammy utilizator de Linux, ai putea configura fișierul dvs. astfel:
/etc/postfix/virtual[email protected] [email protected] sammy
După ce am cartografiat toate adresele de la serverul corespunzător conturi, salvați și închideți fișierul. Dacă ați utilizat
nano
, face acest lucru prin apăsareaCTRL + X
,Y
, apoiENTER
.,se Aplică de cartografiere prin tastarea:
- sudo postmap /etc/postfix/virtual
Reporniți Postfix proces pentru a fi siguri că toate modificările au fost aplicate:
- sudo systemctl restart postfix
Presupunând că ai urmat condiție Inițială Server ghid de Configurare, va trebui configurat un firewall cu UFW. Acest firewall va bloca conexiunile externe la serviciile de pe serverul dvs. în mod implicit, cu excepția cazului în care aceste conexiuni sunt permise în mod explicit, deci va trebui să adăugați o regulă de firewall pentru a permite o excepție pentru Postfix.,puteți permite conexiuni la serviciu tastând:
- sudo ufw allow Postfix
cu aceasta, Postfix este configurat și gata să accepte conexiuni externe. Cu toate acestea, nu sunteți încă pregătit să îl testați cu un client de e-mail. Înainte de a putea instala un client și de a-l utiliza pentru a interacționa cu e-mailul livrat serverului dvs., va trebui să faceți câteva modificări la configurarea serverului Ubuntu.,
Pasul 3-instalarea clientului de Mail și inițializarea structurii Maildir
pentru a interacționa cu e-mailul livrat, acest pas vă va ghida prin procesul de instalare a pachetului
s-nail
. Aceasta este o variantă bogată în caracteristici a clientului BSDxmail
care poate gestiona corect formatul Maildir.înainte de a instala clientul, totuși, ar fi prudent să vă asigurați că variabila de mediu
MAIL
este setată corect.,s-nail
va căuta această variabilă pentru a afla unde să găsiți e-mail pentru utilizatorul dvs.Pentru a se asigura că
MAIL
variabile este stabilit indiferent de modul în care accesați contul dvs. — fie prinssh
,su
,su -
sausudo
, de exemplu, va trebui să setați variabila/etc/bash.bashrc
fișier și adăugați-l la un fișier în/etc/profile.d
să asigurați-vă că acesta este setat pentru toți utilizatorii în mod implicit.,Pentru a adăuga variabile pentru aceste fișiere, tastați:
- echo 'export MAIL=~/Maildir' | sudo tee -a /etc/bash.bashrc | sudo tee -a /etc/profile.d/mail.sh
Pentru a citi variabilă în sesiunea curentă, sursa
/etc/profile.d/mail.sh
fișier:- source /etc/profile.d/mail.sh
Cu asta complete, instala
s-nail
client de e-mail cu APT:- sudo apt install s-nail
Înainte de a rula client, există câteva setări pe care trebuie să se adapteze. Deschide
/etc/s-nail.rc
fișier în editorul tău:- sudo nano /etc/s-nail.rc
În partea de jos a fișierului, se adaugă următoarele opțiuni:
/etc/e-unghii.,rc. . .set emptystartset folder=Maildirset record=+sent
Aici e ceea ce aceste linii:
-
set emptystart
: permite clientului să deschidă chiar și cu un gol de stocare -
set folder=Maildir
: seteazăMaildir
director la internefolder
variabila -
set record=+sent
creează unsent
mbox fișier pentru stocarea trimis e-mail în funcție de director este setat cafolder
variabilă, în acest cazMaildir
Salvați și închideți fișierul atunci când ați terminat., Acum sunteți gata să inițializați structura Maildir a sistemului.
o modalitate rapidă de a crea structura Maildir în directorul dvs. de acasă este să vă trimiteți un e-mail cu comanda
s-nail
. Deoarece fișierulsent
va fi disponibil numai după ce Maildir este creat, ar trebui să dezactivați scrierea pentru acest e-mail inițial. Faceți acest lucru trecând opțiunea-Snorecord
.trimiteți e-mailul prin introducerea unui șir la comanda
s-nail
., Reglați comanda pentru a marca dvs. de utilizator de Linux ca destinatar:- echo 'init' | s-nail -s 'init' -Snorecord sammy
Notă: puteți obține următorul răspuns:
OutputCan't canonicalize "/home/sammy/Maildir"Acest lucru este normal și poate apărea numai atunci când trimiterea de acest prim mesaj.,
puteți să asigurați-vă că directorul a fost creat de către căutarea pentru
~/Maildir
director:- ls -R ~/Maildir
Veți vedea structura de directoare a fost creat și că un nou mesaj de fișier este în
~/Maildir/new
director:Acum, că structura de directoare a fost creat, ești gata pentru a testa
s-nail
client prin vizualizareainit
mesaj ai trimis și trimite un mesaj de la o sursă externă de adresa de e-mail.,Pasul 4 — Testarea Client
Pentru a deschide clientul, executați
s-nail
command:- s-nail
In consola, veți vedea un rudimentar inbox cu
init
mesaj în așteptare:Apăsați
ENTER
pentru a afișa mesajul:puteți obține înapoi la lista de mesaje prin tastarea
h
, apoiENTER
:- h
Output>R 1 [email protected] 2020-05-19 15:40 14/392 initObservați că mesajul are acum o stare de
R
, indicând faptul că a fost citit.,Din acest mesaj nu este foarte util, puteți șterge-l prin apăsarea
d
, apoiENTER
:- d
Pentru a obține înapoi la terminal, tip
q
șiENTER
:- q
Ca un test final, verificați dacă
s-nail
este capabil de a trimite în mod corect mesajele de e-mail. Pentru a face acest lucru, puteți țeavă conținutul unui fișier text îns-nail
proces, așa cum ai făcut cuinit
mesajul de la pasul anterior.,Începe prin a scrie un mesaj de test într-un editor de text:
- nano ~/test_message
în Interior, introduceți un text la care doriți să trimiteți:
~/test_messageHello,This is a test. Please confirm receipt!
Salvați și închideți fișierul după ce a scris mesajul.
Apoi, utilizați
cat
comandă pentru a conductei mesajuls-nail
proces., Puteți face acest lucru cu următorul exemplu, care utilizează aceste opțiuni:-
-s
: Aceasta definește linia de subiect a mesajului de e-mail -
-r
: Un opțional de modificare a „De la:” domeniu de e-mail. În mod implicit, utilizatorul Linux la care sunteți conectat va fi folosit pentru a popula acest câmp.-r
opțiune vă permite pentru a trece peste aceasta cu o adresă validă, astfel ca unul dintre cei definit în/etc/postfix/virtual
fișier., Pentru a ilustra, următoarea comandă folosește
de Asemenea, asigurați-vă că pentru a schimba
la o adresa de email valida care ai acces la:
- cat ~/test_message | s-nail -s 'Test email subject line' -r [email protected] [email protected]
Apoi, navigați la inbox de e-mail adresa la care ai trimis mesajul. Veți vedea mesajul dvs. așteptând acolo aproape imediat.Notă: Dacă mesajul nu se află în inbox, este posibil să fi fost livrat în folderul Spam.
puteți vizualiza mesajele trimise în cadrul
s-nail
client., Începe interactive client nou:- s-nail
De la client de e-mail, vizualiza mesajele trimise prin tastarea:
- file +sent
Veți vedea de ieșire de genul asta:
Output+sent: 1 message 1 new▸N 1 [email protected] 2020-05-19 15:47 12/297 Test email subject lineputeți gestiona trimis mail folosind aceleași comenzi pe care le utilizați pentru e-mail primite.
concluzie
acum aveți Postfix configurat pe serverul Ubuntu 20.04. Gestionarea serverelor de e-mail poate fi o sarcină dificilă pentru noii administratori de sistem, dar cu această configurație, ar trebui să aveți suficientă funcționalitate de e-mail MTA pentru a începe.