En tidligere versjon av denne opplæringen var skrevet av Justin Ellingwood
Innledning
Postfix er en populær open-source Mail Transfer Agent (MTA) som kan brukes til å rute og levere e-post på et Linux-system. Det er anslått at rundt 25% av offentlige e-post-servere på internett, som kjører Postfix.
I denne guiden, vil du lære hvordan du installerer og konfigurerer Postfix på en Ubuntu-20.04 server., Deretter vil du teste at Postfix er i stand til å riktig rute e-post ved å installere s-nail
en e-Post User Agent (HANS), også kjent som en e-postklient.
Merk at målet med denne veiledningen er å hjelpe deg å få Postfix opp og kjøre raskt med bare noen bare-bones e-post funksjonalitet. Du vil ikke ha en fullverdig e-postserver ved slutten av denne veiledningen, men du vil ha noen av de grunnleggende komponentene i et slikt oppsett for å hjelpe deg med å komme i gang.
Forutsetninger
for å følge denne guiden, vil du trenge følgende:
- En server som kjører Ubuntu 20.,04 for å fungere som din Postfix postserveren. Denne serveren skal ha en ikke-root-bruker med
sudo
rettigheter og en brannmur er konfigurert med UFW. Du kan følge våre Ubuntu 20.04 første server setup guide til å sette dette opp. - Et Fullt Kvalifisert Domenenavn pekte på din Ubuntu 20.04 server. Du kan finne hjelp om hvordan du setter opp ditt domenenavn med DigitalOcean ved å følge våre Domener og DNS-Nettverk dokumentasjon. Vær oppmerksom på at hvis du har planer om å få tilgang til e-post fra en ekstern plassering, må du sørge for at du har en MX-post som peker til din e-post server som godt.,
Merk at denne opplæringen forutsetter at du konfigurerer en vert som har FQDN av mail.example.com
. Der det er nødvendig, må du endre example.com
eller mail.example.com
for å gjenspeile din egen FQDN.
Trinn 1 — Installere Postfix
Postfix er inkludert i Ubuntu er angitt som standard for lagringsenheter, så kan du installere den med APT.
for Å begynne, kan du oppdatere din lokale apt
cache:
- sudo apt update
installer Deretter postfix
pakken med følgende kommando., Merk at her har vi passere DEBIAN_PRIORITY=low
miljø-variabel i denne installasjonen kommando. Dette vil føre til at installasjonen skal be deg om å konfigurere flere alternativer:
- sudo DEBIAN_PRIORITY=low apt install postfix
Denne installasjonen vil åpne en serie av interaktive ber. Ved anvendelsen av denne opplæringen, bruk følgende informasjon til å fylle i din ber:
- Generell type e-konfigurasjon?: Til dette, velger du Internett-Området siden dette samsvarer med vår infrastruktur behov.,
- System post navn: Dette er base domenet som brukes til å konstruere en gyldig e-postadresse når du bare kontoen delen av adressen som er gitt. For eksempel, la oss si vertsnavnet på serveren din er
mail.example.com
. Du vil sannsynligvis ønske å angi system post navn tilexample.com
slik at, gitt brukernavnuser1
, Postfix vil bruke adressen.
- Root og postmaster post mottaker: Dette er den Linux-konto som vil bli videresendt e-post som er adressert til
root@
ogpostmaster@
., Bruk den primære kontoen for dette. I dette eksemplet er tilfelle, sammy. - Andre destinasjoner for å godta post til: Dette definerer e-post destinasjoner som dette Postfix eksempel vil godta. Hvis du trenger å legge til noen andre domener som denne serveren vil være ansvarlig for mottak, legger du dem her. Ellers, standard vil være tilstrekkelig.
- Force synkron oppdateringer på e-post kø? Siden du er sannsynligvis ved hjelp av en journalført filsystem, aksepterer vi Ikke her.
- Lokale nettverk: Dette er en liste over nettverk som din e-post-serveren er konfigurert til å videresende meldinger., Standard vil fungere for de fleste scenarier. Hvis du velger å endre det, men sørg for å være svært restriktive i forhold til nettverkets rekkevidde.
- størrelsesgrensen: Dette kan brukes til å begrense størrelsen på meldinger. Å sette den til
0
deaktiverer alle filstørrelse begrensning. - Local address extension karakter: Dette er tegn som kan brukes for å skille den vanlige delen av adressen fra en utvidelse (som brukes til å lage dynamiske aliaser). Standard,
+
vil arbeide for denne opplæringen., - Internett-protokoller til å bruke: Velg om du vil begrense IP-versjon som Postfix støtter. Ved anvendelsen av denne opplæringen, plukke alle.
for Å bli eksplisitt, disse er de innstillinger som er brukt i denne håndboken:
Merk: Hvis du trenger å noen gang kommer til å endre disse innstillingene, kan du gjøre dette ved å skrive:
- sudo dpkg-reconfigure postfix
instruksjonene vil være forhåndsutfylt med dine tidligere svar.
Når installasjonen er ferdig, er du klar til å gjøre noen oppdateringer til Postfix konfigurasjon.,
Trinn 2 — Endring av Postfix Konfigurasjon
Nå kan du endre noen innstillinger som pakken installasjonen ikke spørre deg for. Mange av Postfix er konfigureringsinnstillingene som er definert i /etc/postfix/main.cf
– filen. Heller enn å redigere denne filen direkte, kan du bruke Postfix er postconf
– kommandoen til å spørre eller angi konfigureringsinnstillingene.
for Å begynne, angi plasseringen for den ikke-root Ubuntu brukerens postboks., I denne veiledningen bruker vi Maildir-format, som skiller meldinger til individuelle filer som er flyttet mellom kataloger basert på brukerens handling. Det alternativ som ikke er dekket i denne håndboken, er mbox format, som lagrer alle meldinger i en enkelt fil.
Angi home_mailbox
variabel til Maildir/
. Senere, du vil opprette et directory-strukturen under navnet innenfor brukerens hjemmekatalog., Konfigurere home_mailbox
ved å skrive:
- sudo postconf -e 'home_mailbox= Maildir/'
Neste, angi plasseringen av virtual_alias_maps
bordet, som kart vilkårlig e-postkontoer til Linux-systemet kontoer. Kjør følgende kommando, som kart tabellen sted til en kryptert database fil som heter /etc/postfix/virtual
:
- sudo postconf -e 'virtual_alias_maps= hash:/etc/postfix/virtual'
etter at du har definert plasseringen av det virtuelle kart fil i main.cf
fil, kan du opprette filen i seg selv og begynne kartlegging av e-postkontoer til brukerkontoer på ditt Linux-system., Opprette filen med din foretrukne tekst-editoren; i dette eksempelet, vil vi bruke nano
:
- sudo nano /etc/postfix/virtual
en Liste over alle adresser som du ønsker å ta imot e-post til, etterfulgt av et mellomrom og Linux-brukeren du vil at e-posten leveres til.,
For eksempel, hvis du ønsker å motta e-post på og
og ønsker å ha dem e-post levert til sammy Linux-bruker, kan du sette opp din fil som dette:
[email protected] [email protected] sammy
Etter at du har kartlagt alle adressene til riktig server-kontoer, må du lagre og lukk filen. Hvis du har brukt nano
, gjør du dette ved å trykke på CTRL + X
, Y
, deretter ENTER
.,
Bruk kartlegging ved å skrive:
- sudo postmap /etc/postfix/virtual
Starte Postfix prosess for å være sikker på at alle endringer har blitt brukt:
- sudo systemctl restart postfix
Forutsatt at du har fulgt forutsetning Første Server Setup guide, vil du har konfigurert en brannmur med UFW. Denne brannmuren blokkerer eksterne tilkoblinger til tjenester på serveren din som standard, med mindre disse sammenhengene er uttrykkelig tillatt, så du må legge til en brannmurregel for å tillate et unntak for Postfix.,
Du kan tillate tilkoblinger til tjenesten ved å skrive:
- sudo ufw allow Postfix
Med det, Postfix er konfigurert og klar til å ta eksterne tilkoblinger. Imidlertid, du ennå ikke klar til å teste det ut med en e-postklient. Før du kan installere en klient, og bruke det til å kommunisere med e-post blir levert til din server, vil du trenger å gjøre et par endringer på Ubuntu server oppsett.,
Trinn 3 — Installasjon av Post-Klient og Initialisere Maildir Struktur
for å samhandle med e-post blir levert, er dette trinnet leder deg gjennom prosessen med å installere s-nail
pakken. Dette er en funksjonsrik variant av BSD xmail
klient som kan håndtere Maildir-format på riktig måte.
Før du installerer klienten, skjønt, det ville være klokt å sørge for at din MAIL
miljø-variabelen er angitt riktig., s-nail
vil se ut for denne variabelen for å finne ut hvor du kan finne e-post for din bruker.
for Å sikre at MAIL
variabel er satt uavhengig av hvordan du får tilgang til kontoen din, enten gjennom ssh
, su
, su -
, eller sudo
, for eksempel — du må sette variabelen i /etc/bash.bashrc
fil og legge den til en fil i /etc/profile.d
for å være sikker på at det er innstilt for alle brukere av standard.,
for Å legge til variabel til disse filene, skriv:
- echo 'export MAIL=~/Maildir' | sudo tee -a /etc/bash.bashrc | sudo tee -a /etc/profile.d/mail.sh
for Å lese variabel i den gjeldende økten, kilde /etc/profile.d/mail.sh
file:
- source /etc/profile.d/mail.sh
Med at komplett, installer s-nail
e-postklient med APT:
- sudo apt install s-nail
Før du kjører klienten, det er noen innstillinger du trenger for å justere. Åpne /etc/s-nail.rc
fil i din redaktør:
- sudo nano /etc/s-nail.rc
nederst På fil, legge til følgende alternativer:
. . .set emptystartset folder=Maildirset record=+sent
Her er hva disse linjene:
-
set emptystart
: gjør det mulig for klienten å åpne selv med en tom innboks -
set folder=Maildir
: settMaildir
katalogen til internefolder
variabel -
set record=+sent
oppretter ensent
mbox fil for å lagre sendte e-post innen hvilken katalog er angitt somfolder
variabel, i dette tilfelletMaildir
Lagre og lukk filen når du er ferdig., Du er nå klar til å initialisere systemet er Maildir struktur.
En rask måte å legge Maildir struktur i din hjemmekatalog er å sende deg en e-post med s-nail
– kommandoen. Fordi sent
filen er bare tilgjengelig når Maildir er opprettet, bør du deaktivere skriving med det for denne første e-post. Dette gjør du ved å sende -Snorecord
alternativ.
Sende e-post ved å varme en streng til s-nail
– kommandoen., Justere kommando for å markere din Linux-brukeren som mottaker:
- echo 'init' | s-nail -s 'init' -Snorecord sammy
Merk: det kan hende Du får følgende svar:
OutputCan't canonicalize "/home/sammy/Maildir"
Dette er normalt, og kan bare vises kun når du sender denne første meldingen.,
Du kan sjekke for å sørge for at katalogen ble opprettet ved å se etter din ~/Maildir
– katalogen:
- ls -R ~/Maildir
vil Du se directory-strukturen har blitt opprettet, og at en ny melding filen er i ~/Maildir/new
– katalogen:
Nå at directory-strukturen har blitt opprettet, er du klar for å teste ut s-nail
klienten ved å vise init
meldinger du har sendt og sender en melding til en ekstern e-postadresse.,
Trinn 4 — Testing Klienten
for Å åpne client, kan du kjøre s-nail
kommando:
- s-nail
I konsollen, vil du se en elementær innboks med init
melding venter:
Trykk ENTER
for å vise melding:
Du kan komme tilbake til meldingslisten ved å skrive h
og deretter ENTER
:
- h
Output>R 1 [email protected] 2020-05-19 15:40 14/392 init
legg Merke til at meldingen har nå en tilstand av R
, noe som indikerer at den er lest.,
Siden denne meldingen er ikke veldig nyttig, kan du slette det ved å trykke på d
og deretter ENTER
:
- d
for Å komme tilbake til terminalen, type q
og deretter ENTER
:
- q
Som en siste test, sjekk om s-nail
er i stand til å korrekt sende e-postmeldinger. For å gjøre dette, kan du pipe innholdet i en tekst-fil i s-nail
prosess, slik som du gjorde med den init
meldingen du sendte i forrige trinn.,
Begynn med å skrive en testmelding i en tekst-editor:
- nano ~/test_message
Innsiden, tast inn noe tekst du ønsker å sende:
Hello,This is a test. Please confirm receipt!
Lagre og lukk filen når du skriver meldingen.
Så, bruk cat
– kommandoen til å pipe meldingen til s-nail
prosessen., Du kan gjøre dette med følgende eksempel, som bruker disse alternativene:
-
-s
: Dette definerer emnelinjen i e-postmeldingen -
-r
: Et valgfritt endre til «Fra:» – feltet i e-posten. Standard Linux-brukeren du er pålogget som vil bli brukt til å fylle ut dette feltet.-r
alternativet gir deg mulighet til å overstyre dette med en gyldig e-postadresse, som en av de du har definert i/etc/postfix/virtual
– filen., For å illustrere den følgende kommandoen bruker
sørg Også for å endre til en gyldig e-postadresse som du har tilgang til:
- cat ~/test_message | s-nail -s 'Test email subject line' -r [email protected] [email protected]
Deretter gå til innboksen for e-post adresse som du sendte meldingen. Vil du se din melding venter det nesten umiddelbart.
Merk: Hvis meldingen ikke er i din innboks, men det kan ha vært levert til din Spam mappe.
Du kan vise dine sendte meldinger innenfor s-nail
klient., Starte den interaktive klienten igjen:
- s-nail
Fra e-postklienten, kan du vise dine sendte meldinger ved å skrive:
- file +sent
vil Du se utgang som dette:
Output+sent: 1 message 1 new▸N 1 [email protected] 2020-05-19 15:47 12/297 Test email subject line
Du kan administrere sendt e-post ved å bruke de samme kommandoene du bruker for innkommende e-post.
Konklusjon
Du har nå Postfix konfigurert på din Ubuntu 20.04 server. Administrere e-servere kan bli en tøff oppgave for nytt system administratorer, men med denne konfigurasjonen, bør du ha nok MTA e-post funksjonalitet for å få deg i gang.