En tidligere version af denne tutorial er skrevet af Justin Ellingwood
Indledning
Postfix er et populært open source-Mail Transfer Agent (MTA), der kan bruges til at distribuere og levere e-mail på et Linux-system. Det anslås, at omkring 25% af offentlige mailservere på internettet kører Postfi..
i denne vejledning lærer du, hvordan du installerer og konfigurerer Postfi.på en Ubuntu 20.04-server., Derefter tester du, at Postfi.er i stand til korrekt at rute mail ved at installere s-nail
, en Mail User Agent (MUA), også kendt som en e-mail-klient.
Bemærk, at målet med denne tutorial er at hjælpe dig med at få Postfi.op at køre hurtigt med kun nogle bare-bone e-mail-funktionalitet. Du vil ikke have en komplet e-mail-server i slutningen af denne vejledning, men du vil have nogle af de grundlæggende komponenter i en sådan opsætning for at hjælpe dig med at komme i gang.
forudsætninger
for at følge denne vejledning skal du bruge følgende:
- en server, der kører Ubuntu 20.,04 at fungere som din Postfi.mailserver. Denne server skal have en ikke-root-brugeren med
sudo
privilegier og en firewall er konfigureret med UFW. Du kan følge vores Ubuntu 20.04 indledende serveropsætningsguide for at konfigurere dette. - et fuldt kvalificeret domænenavn pegede på din Ubuntu 20.04 server. Du kan finde hjælp til opsætning af dit domænenavn med DigitalOcean ved at følge vores domæner og DNS-Netværksdokumentation. Vær opmærksom på, at hvis du planlægger at få adgang til mail fra en ekstern placering, skal du sørge for, at du også har en m. – post, der peger på din mailserver.,
Bemærk, at denne vejledning antager, at du konfigurerer en vært, der har f .dn af mail.example.com
. Hvor det er nødvendigt, skal du ændre example.com
eller mail.example.com
for at afspejle din egen FQDN.
Trin 1 — installation af Postfi.
Postfi. er inkluderet i Ubuntu ‘ s standardarkiver, så du kan installere det med APT.
til At begynde, skal du opdatere dit lokale apt
pakke cache:
- sudo apt update
Derefter installere postfix
pakke med følgende kommando., Bemærk, at vi her overfører DEBIAN_PRIORITY=low
miljøvariablen til denne installationskommando. Dette vil få installationsprocessen til at bede dig om at konfigurere nogle yderligere indstillinger:
- sudo DEBIAN_PRIORITY=low apt install postfix
denne installationsproces åbner en række interaktive prompter. I forbindelse med denne vejledning skal du bruge følgende oplysninger til at udfylde dine instruktioner:
- generel type mailkonfiguration?: Vælg dette Internetebsted, da dette matcher vores infrastrukturbehov.,
- System mail name: dette er basisdomænet, der bruges til at konstruere en gyldig e-mailadresse, når kun kontodelen af adressen er angivet. For eksempel, lad os sige værtsnavnet på din server er
mail.example.com
. Du vil sandsynligvis indstille systempostnavnet tilexample.com
, så Postfi.vil bruge adresseni betragtning af brugernavnet
user1
. - Root og postmaster mail modtager: dette er den Linu. – konto, der vil blive videresendt mail adresseret til
root@
ogpostmaster@
., Brug din primære konto til dette. I dette eksempel tilfælde, sammy. - andre destinationer, der skal accepteres mail for: dette definerer de postdestinationer, som denne Postfi. – instans vil acceptere. Hvis du har brug for at tilføje andre domæner, som denne server er ansvarlig for at modtage, skal du tilføje dem her. Ellers vil standardindstillingen være tilstrækkelig.
- Force synkrone opdateringer på mail kø?: Da du sandsynligvis bruger et journaliseret filsystem, skal du acceptere Nej her.
- lokale netværk: Dette er en liste over de netværk, som din mailserver er konfigureret til at videresende meddelelser til., Standard vil arbejde for de fleste scenarier. Hvis du vælger at ændre det, skal du dog sørge for at være meget restriktiv med hensyn til netværksområdet.
- Postkassestørrelsesgrænse: dette kan bruges til at begrænse størrelsen på meddelelser. Indstilling til
0
deaktiverer enhver størrelsesbegrænsning.lokal adresseudvidelsestegn: dette er det tegn, der kan bruges til at adskille den almindelige del af adressen fra en udvidelse (bruges til at oprette dynamiske aliaser). Standard,+
vil arbejde for denne tutorial., - internetprotokoller, der skal bruges: Vælg, om du vil begrænse den IP-version, som Postfi.understøtter. Med henblik på denne tutorial, vælge alle.
At være eksplicit, at disse er de indstillinger, der bruges i denne vejledning:
Bemærk: Hvis du har brug for til at vende tilbage for at ændre disse indstillinger, kan du gøre det ved at skrive:
- sudo dpkg-reconfigure postfix
anvisningerne vil allerede være udfyldt med dine tidligere besvarelser.
Når installationsprocessen er færdig, er du klar til at foretage et par opdateringer til din Postfi. – konfiguration.,
Trin 2 — Ændring af Postfi. – konfigurationen
nu kan du justere nogle indstillinger, som pakkeinstallationsprocessen ikke bad dig om. Mange af Postfi. ‘ s konfigurationsindstillinger er defineret i /etc/postfix/main.cf
fil. I stedet for at redigere denne fil direkte, kan du bruge Postfi. ‘ s postconf
kommando til at forespørge eller indstille konfigurationsindstillinger.for at begynde skal du indstille placeringen for din IKKE-root Ubuntu-brugers postkasse., I denne vejledning bruger vi Maildir-formatet, som adskiller meddelelser i individuelle filer, der derefter flyttes mellem mapper baseret på brugerhandling. Den alternative mulighed, der ikke er dækket i denne vejledning, er MBO. – formatet, som gemmer alle meddelelser i en enkelt fil.
Indstil variablenhome_mailbox
tilMaildir/
. Senere vil du oprette en mappestruktur under dette navn i din brugers hjemmekatalog., Konfigurer home_mailbox
ved at skrive:
- sudo postconf -e 'home_mailbox= Maildir/'
indstil derefter placeringen af tabellenvirtual_alias_maps
, der kortlægger vilkårlige e-mail-konti til Linu. – systemkonti. Kør følgende kommando, som kort tabellen placering til en hash-database fil med navnet /etc/postfix/virtual
:
- sudo postconf -e 'virtual_alias_maps= hash:/etc/postfix/virtual'
Nu, hvor du har defineret placeringen af de virtuelle kort-fil i din main.cf
fil, du kan oprette filen i sig selv, og begynde at kortlægge e-mail-konti til bruger konti på dit Linux system., Opret filen med din foretrukne teksteditor, i dette eksempel vil vi bruge nano
:
- sudo nano /etc/postfix/virtual
en Liste over alle adresser, som du ønsker at modtage e-mail om, efterfulgt af et mellemrum og Linux-bruger, du ønsker at e-mail leveres til.,
For eksempel, hvis du gerne vil modtage e-mail på og
og vil gerne have disse e-mails leveres til sammy Linux-bruger, kan du oprette din fil som denne:
[email protected] [email protected] sammy
Efter at man har kortlagt alle de adresser, den pågældende server-konti, skal du gemme og lukke filen. Hvis du har brugt nano
, skal du gøre dette ved at trykke CTRL + X
Y
, så ENTER
.,
Anvendelse, kortlægning, ved at skrive:
- sudo postmap /etc/postfix/virtual
Genstarte Postfix proces, for at være sikker på, at alle dine ændringer er blevet anvendt:
- sudo systemctl restart postfix
hvis vi Antager at du har fulgt forudsætning Oprindelige Server Setup guide, vil du have konfigureret en firewall med UFW. Denne firewall vil blokere eksterne forbindelser til services på din server som standard, medmindre disse forbindelser er udtrykkeligt tilladt, så er du nødt til at tilføje en firewallregel til at tillade en undtagelse til Postfix.,
Du kan tillade forbindelser til tjenesten ved at skrive:
- sudo ufw allow Postfix
Med at Postfix er konfigureret og klar til at acceptere eksterne forbindelser. Du er dog endnu ikke klar til at teste det ud med en mail-klient. Før du kan installere en klient og bruge den til at interagere med den mail, der leveres til din server, skal du foretage et par ændringer i din Ubuntu-servers opsætning.,
Trin 3 — Installation Mail-Klient, og Initialisering af Maildir-Struktur
for at interagere med post leveret, dette trin vil føre dig gennem processen til installation s-nail
pakke. Dette er en funktionsrig variant af BSD xmail
klient, der kan håndtere Maildir-formatet korrekt.
før du installerer klienten, ville det dog være klogt at sikre dig, at din MAIL
miljøvariabel er indstillet korrekt., s-nail
vil kigge efter denne variabel for at finde ud af, hvor du kan finde mail til din bruger.
for at sikre, At MAIL
variabel er indstillet, uanset hvordan du få adgang til din konto — uanset om det er via ssh
su
su -
, eller sudo
for eksempel, vil du nødt til at angive den variabel i /etc/bash.bashrc
fil og tilføje det til en fil i /etc/profile.d
for at gøre sikker på, at det for alle brugere som standard.,
for At tilføje variable til disse filer, skal du skrive:
- echo 'export MAIL=~/Maildir' | sudo tee -a /etc/bash.bashrc | sudo tee -a /etc/profile.d/mail.sh
At læse den variable i din nuværende session, kilde /etc/profile.d/mail.sh
fil:
- source /etc/profile.d/mail.sh
Med at fuldføre, installer s-nail
e-mail-klient med APT:
- sudo apt install s-nail
Før du kører den klient, der er et par indstillinger, du skal bruge til at justere. Åbne /etc/s-nail.rc
fil i din editor:
- sudo nano /etc/s-nail.rc
I bunden af filen, tilføj den følgende valg:
. . .set emptystartset folder=Maildirset record=+sent
Her er hvad disse linjer gøre:
-
set emptystart
: giver kunden mulighed for at åbne selv med en tom indbakke -
set folder=Maildir
: indstillerMaildir
bibliotek til den internefolder
variabel -
set record=+sent
opretter ensent
mbox-fil til lagring af sendte e-mails inden for en hvilken-mappen er indstillet somfolder
variabel, i dette tilfældeMaildir
Gemme og lukke filen, når du er færdig., Du er nu klar til at initialisere dit systems Maildir-struktur.
en hurtig måde at oprette Maildir-strukturen i din hjemmekatalog er at sende dig en e-mail med kommandoen s-nail
. Da sent
filen kun vil være tilgængelig, når Maildir er oprettet, skal du deaktivere skrivning til den for denne første e-mail. Gør dette ved at passere -Snorecord
.
Send e-mailen ved at rør en streng til kommandoen s-nail
., Justere kommando til at markere din Linux-bruger, som modtageren:
- echo 'init' | s-nail -s 'init' -Snorecord sammy
Bemærk: Du kan få følgende svar:
OutputCan't canonicalize "/home/sammy/Maildir"
Dette er normalt og kan kun vises, når afsendelse af denne første besked.,
Du kan kontrollere, at biblioteket blev skabt af leder du efter din ~/Maildir
bibliotek:
- ls -R ~/Maildir
Du vil se den mappe struktur er skabt, og at en ny meddelelse fil, er i ~/Maildir/new
bibliotek:
Nu, at mappestrukturen er blevet oprettet, er du klar til at afprøve s-nail
klient ved at se init
sms-besked, du har sendt og sender en besked til en ekstern e-mail-adresse.,
Trin 4 — Test af Klient
for At åbne klienten, skal du køre s-nail
kommando:
- s-nail
I din konsol, vil du se en rudimentær indbakke med init
– besked, der venter:
Tryk ENTER
for at få vist beskeden:
Du kan komme tilbage til listen ved at skrive h
og derefter ENTER
:
- h
Output>R 1 [email protected] 2020-05-19 15:40 14/392 init
Bemærk, at beskeden har nu en tilstand af R
, der angiver, at det er blevet læst.,
Da denne besked er ikke meget nyttigt, kan du slette det ved at trykke d
og derefter ENTER
:
- d
for At komme tilbage til terminalen, type q
og derefter ENTER
:
- q
Som en endelig test, skal du kontrollere, om s-nail
er i stand til korrekt at sende e-mail-beskeder. For at gøre dette kan du rør indholdet af en tekstfil i s-nail
– processen, som du gjorde med init
– meddelelsen, du sendte i det forrige trin.,
Begynd med at skrive en test besked i en tekst-editor:
- nano ~/test_message
Inde, indtast noget tekst du gerne vil sende:
Hello,This is a test. Please confirm receipt!
Gemme og lukke filen, når du skriver din besked.
brug derefter kommandoen cat
til at sende meddelelsen til s-nail
proces., Kan du gøre det med følgende eksempel, der bruger disse muligheder:
-
-s
: Dette definerer emnelinjen i den e-mail-besked -
-r
: En valgfri skifte til “Fra” – feltet i e-mailen. Som standard vil den Linu. – bruger, du er logget ind som, blive brugt til at udfylde dette felt. Indstillingen-r
giver dig mulighed for at tilsidesætte dette med en gyldig adresse, såsom en af dem, du har defineret i/etc/postfix/virtual
fil., For at illustrere, følgende kommando bruger
sørg Også for at ændre for at en gyldig e-mail-adresse, som du har adgang til:
- cat ~/test_message | s-nail -s 'Test email subject line' -r [email protected] [email protected]
Derefter navigere til indbakken for de e-mail-adresse, som du har sendt meddelelsen. Du vil se din besked venter der næsten med det samme.Bemærk: Hvis meddelelsen ikke er i din indbakke, er den muligvis blevet leveret til din spammappe.
Du kan se dine sendte meddelelser i din s-nail
klient., Starte interaktivt kunden igen:
- s-nail
Fra den e-mail-klient, se dine sendte beskeder, ved at skrive:
- file +sent
Du vil se et output, 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 styre sendt en e-mail ved hjælp af de samme kommandoer, du bruger til indgående e-mail.
konklusion
du har nu Postfi.konfigureret på din Ubuntu 20.04 server. Håndtering af e-mail-servere kan være en hård opgave for nye systemadministratorer, men med denne konfiguration skal du have nok MTA-e-mail-funktionalitet til at komme i gang.