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 guiden kommer vi att installera och konfigurera Postfix så att den kan användas för att skicka e — post endast av lokala program-det vill säga de som är installerade på samma server som Postfix är installerat 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., Om du hanterar en molnserver där du har installerat program som behöver skicka e-postmeddelanden, kör en lokal, är send-only SMTP-server ett bra alternativ till att använda en tredje parts e-postleverantör eller köra en fullblåst SMTP-server.
i den här handledningen lär du dig hur du installerar och konfigurerar Postfix som en SMTP-server som endast skickas.
förutsättningar
för att följa den här handledningen behöver du:
-
en Ubuntu 16.04 Droplet konfigurerad med Ubuntu 16.,04 Initial setup guide, Inklusive att skapa en sudo icke-root-användare
-
ett giltigt domännamn, som
example.com
, som pekar på din server. Du kan ställa in det genom att följa den här värdnamnshandledningen
Observera att serverns värdnamn ska matcha den här domänen eller underdomänen. Du kan verifiera serverns värdnamn genom att skrivahostname
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. Installeramailtuils
kommer att installera Postfix samt några andra program som behövs för att Postfix ska 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 den här handledningen, så tryck på TAB
, sedan ENTER
.
efter det får du ett annat fönster precis som det i nästa bild. Systempostnamnet ska vara detsamma som namnet 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 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 behandla förfrågningar om att bara skicka e-post 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 Huvudkonfigurationsfilen för Postfix med nano
eller din favorittextredigerare.
- sudo nano /etc/postfix/main.cf
med filen öppen bläddrar du ner tills du ser följande avsnitt.
. . .mailbox_size_limit = 0recipient_delimiter = +inet_interfaces = all. . .
ändra raden som läserinet_interfaces = all
tillinet_interfaces = loopback-only
.
. . .mailbox_size_limit = 0recipient_delimiter = +inet_interfaces = loopback-only. . .
ett annat direktiv som du måste ändra är mydestination
, som används för att ange listan över domäner som levereras via local_transport
postleveranstransport. Som standard liknar värdena följande:
/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 inställning innebär ytterligare konfigurationer som ligger utanför tillämpningsområdet 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 kommandotmail
, som ingår i paketetmailutils
som installerades i steg 1.
för att skicka ett test e-post, typ:
- 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(s), kan du använda kroppen och ämnesradens text 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, kontrollera din skräppostmapp.
Observera att med den här konfigurationen kommer adressen i fältet Från för testmeddelandena du skickar att vara, där sammy är ditt Linux-användarnamn och domändelen är serverns värdnamn. Om du ändrar ditt användarnamn ändras även från-adressen.,
steg 4-vidarebefordran system Mail
det sista vi vill ställa in är vidarebefordran, så du får e-post skickas 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
filens fullständiga innehåll 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 den så att dessa e-postmeddelanden omdirigeras till din e-postadress. För att åstadkomma detta, redigera filen så att den lyder:
/etc/aliases# See man 5 aliases for formatpostmaster: rootroot: your_email_address
ersättyour_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 ska få e-postmeddelandet på din e-postadress. Om inte, kontrollera din skräppostmapp.,
slutsats
det är allt som krävs för att konfigurera en e-postserver som endast skickas 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 som markeras 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 ett meddelandekortregistrering), bör du definitivt ställa in SPF-poster och DKIM så att serverns 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-Posttillförlitligheten
-
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 konfigurationen är korrekt gör det svårt att skicka skräppost med en adress som verkar komma från domänen. Att göra dessa ytterligare konfigurationssteg kommer också att göra det mer sannolikt för vanliga e-postleverantörer att se e-postmeddelanden från din server som legitima.