introduktion
Postfix är ett mail transfer agent (MTA), ett program som används för att skicka och ta emot e-post. I den här handledningen installerar och konfigurerar vi Postfix så att den endast kan användas för att skicka e — postmeddelanden av lokala applikationer-det vill säga de som är installerade på samma server som Postfix är installerad på.
varför skulle du vilja göra det?
om du redan använder en e-postleverantör från tredje part för att skicka och ta emot e-post behöver du inte köra din egen e-postserver. Men om du hanterar en molnserver där du har installerat program som behöver skicka e-postmeddelanden, kör en lokal, skicka endast SMTP-server är ett bra alternativ till att använda en 3: e parts e-postleverantör eller kör en fullt utvecklad SMTP-server.
i den här handledningen lär du dig hur du installerar och konfigurerar Postfix som en skicka-endast SMTP-server.
förutsättningar
för att följa denna handledning behöver du:
-
en Ubuntu 16.04-droppe inrättad med Ubuntu 16.04 initial setup guide, Inklusive att skapa en sudo-icke-root-användare
-
ett giltigt domännamn, som
example.com
, pekar på din server. Du kan ställa in det genom att följa denna värdnamn handledning
Observera att serverns värdnamn ska matcha den här domänen eller underdomänen. Du kan verifiera serverns värdnamn genom att skriva hostname
vid kommandotolken. Utgången ska matcha namnet du gav droppen när den skapades.
Steg 1-Installera Postfix
i det här steget lär du dig hur du installerar Postfix. Det mest effektiva sättet att installera Postfix och andra program som behövs för att testa e-post är att installera paketet mailutils
.
uppdatera först paketdatabasen:
- sudo apt-get update
slutligen installera Postfix. Installera mailtuils
kommer att installera Postfix samt några andra program som behövs för Postfix att fungera.
- sudo apt install mailutils
nära slutet av installationsprocessen kommer du att presenteras med ett fönster som ser exakt ut som det i bilden nedan. Standardalternativet är webbplats. Det är det rekommenderade alternativet för denna handledning, så tryck på TAB
och sedan ENTER
.
efter det får du ett annat fönster precis som det i nästa bild. Systemets e-postnamn ska vara detsamma som det namn du tilldelade servern när du skapade det. Om det visar en underdomän som subdomain.example.com
, ändra den till bara example.com
. När du är klar trycker du på TAB
och sedan på ENTER
.
när installationen har slutförts, fortsätt till steg två.
steg 2-konfigurera Postfix
i det här steget läser du hur du konfigurerar Postfix för att bearbeta förfrågningar om att bara skicka e-postmeddelanden från servern där den körs, det vill säga från localhost.
för att det ska hända måste Postfix konfigureras för att bara lyssna på loopback-gränssnittet, det virtuella nätverksgränssnittet som servern använder för att kommunicera internt. För att göra ändringen, öppna Huvud Postfix konfigurationsfilen med nano
eller din favorit textredigerare.
- sudo nano /etc/postfix/main.cf
med filen öppen, bläddra ner tills du ser följande avsnitt.
. . .mailbox_size_limit = 0recipient_delimiter = +inet_interfaces = all. . .
ändra raden som läser inet_interfaces = all
till inet_interfaces = loopback-only
.
. . .mailbox_size_limit = 0recipient_delimiter = +inet_interfaces = loopback-only. . .
ett annat direktiv som du behöver ändra är mydestination
, som används för att ange listan över domäner som levereras via postleveranstransporten local_transport
. Som standard liknar värdena dessa:
/etc/postfix/main.cf. . .mydestination = $myhostname, example.com, localhost.com, , localhost. . .
de rekommenderade standardvärdena för det scenariot anges i kodblocket nedan, så ändra din för att matcha:
/etc/postfix/main.cf. . .mydestination = $myhostname, localhost.$mydomain, $mydomain. . .
spara och stäng filen.
om du är värd för flera domäner på en enda server kan de andra domänerna också skickas till Postfix med mydestination
– direktivet. Men för att konfigurera Postfix på ett sätt som skalar och som inte presenterar problem för en sådan installation innebär ytterligare konfigurationer som ligger utanför ramen för den här artikeln.
slutligen starta om Postfix.
- sudo systemctl restart postfix
steg 3 — Testa SMTP-servern
i det här steget testar du om Postfix kan skicka e-post till ett externt e-postkonto med kommandot mail
, som ingår i paketet mailutils
som installerades i steg 1.
för att skicka ett testmeddelande, skriv:
- echo "This is the body of the email" | mail -s "This is the subject line" your_email_address
när du utför ditt eget test (er) kan du använda brödtexten och ämnesraden som den är eller ändra dem efter eget tycke. I stället för your_email_address
, använd dock en giltig e-postadress. Domändelen kan vara gmail.com
, fastmail.com
, yahoo.com
, eller någon annan e-postleverantör som du använder.
Kontrollera nu e-postadressen där du skickade testmeddelandet. Du bör se meddelandet i din inkorg. Om inte, kolla din skräppostmapp.
Observera att med den här konfigurationen kommer adressen i fältet Från för de testmeddelanden du skickar att vara [email protected]
, där sammy är ditt Linux-användarnamn och domändelen är serverns värdnamn. Om du ändrar ditt användarnamn ändras också från-adressen.
steg 4-Forwarding system Mail
det sista vi vill ställa in är vidarebefordran, så du får e-postmeddelanden skickade till root på systemet på din personliga, externa e-postadress.
för att konfigurera Postfix så att systemgenererade e-postmeddelanden skickas till din e-postadress måste du redigera filen /etc/aliases
.
- sudo nano /etc/aliases
det fullständiga innehållet i filen på en standardinstallation av Ubuntu 16.04 är följande:
# See man 5 aliases for formatpostmaster: root
med den inställningen skickas systemgenererade e-postmeddelanden till rotanvändaren. Vad du vill göra är att redigera det så att dessa e-postmeddelanden omdirigeras till din e-postadress. För att åstadkomma det, redigera filen så att den läser:
/etc/aliases# See man 5 aliases for formatpostmaster: rootroot: your_email_address
ersätt your_email_address
med din personliga e-postadress. När du är klar, spara och stäng filen. För att ändringen ska träda i kraft, kör följande kommando:
- sudo newaliases
du kan nu testa att det fungerar genom att skicka ett e-postmeddelande till root-kontot med:
- echo "This is the body of the email" | mail -s "This is the subject line" root
du bör få e-postmeddelandet på din e-postadress. Om inte, kolla din skräppostmapp.
slutsats
det är allt som krävs för att ställa in en skicka endast e-postserver med Postfix. Du kanske vill vidta ytterligare åtgärder för att skydda din domän från spammare.
om ditt användningsfall är att ta emot meddelanden från din server på en enda adress är e-postmeddelanden markerade som spam ett stort problem eftersom du kan vitlista dem. Men om ditt användningsfall är att skicka e-post till potentiella webbplatsanvändare (t.ex. bekräftelsemail för registrering av anslagstavla), bör du definitivt ställa in SPF-poster och DKIM så att din servers e-postmeddelanden är mer benägna att ses som legitima.
-
hur man använder en SPF-post för att förhindra Spoofing & förbättra E-post tillförlitlighet
-
hur man installerar och konfigurerar DKIM med Postfix på Debian Wheezy även om den artikeln skrevs för Debian Wheezy, gäller samma steg för Ubuntu 16.04.
om det är korrekt konfigurerat gör det det svårt att skicka skräppost med en adress som verkar komma från din domän. Om du gör dessa ytterligare konfigurationssteg kommer det också att göra det mer troligt för vanliga e-postleverantörer att se e-postmeddelanden från din server som legitima.