introduktion
Postfix är en populär open-source Mail Transfer Agent (mta) som kan användas för att dirigera och leverera E-post på ett Linux-system. Det uppskattas att cirka 25% av offentliga e-postservrar på internet kör Postfix.
i den här guiden lär vi dig hur du går igång snabbt med Postfix på en Ubuntu 16.04-server.
förutsättningar
för att följa den här guiden bör du ha tillgång till en icke-root-användare medsudo
– behörighet. Du kan följa vår Ubuntu 16.,04 ursprungliga server setup guide för att skapa den nödvändiga användaren.
för att kunna konfigurera Postfix korrekt behöver du ett fullt kvalificerat domännamn pekat på din Ubuntu 16.04-server. Du kan hitta hjälp med att konfigurera ditt domännamn med DigitalOcean genom att följa den här guiden. Om du planerar att acceptera e-post måste du se till att du har en MX-post som pekar på din e-postserver också.
i denna handledning antar vi att du konfigurerar en värd som har FQDN för mail.example.com
.,
Steg 1: Installera Postfix
Postfix ingår i Ubuntu standardförråd, så installationen är otroligt enkel.
för att börja, uppdatera din lokalaapt
paketcache och installera sedan programvaran. Vi kommer att skicka in miljövariabeln DEBIAN_PRIORITY=low
I vårt installationskommando för att svara på några ytterligare uppmaningar:
- sudo apt-get update
- sudo DEBIAN_PRIORITY=low apt-get install postfix
använd följande information för att fylla i dina uppmaningar korrekt för din miljö:
- allmän typ av postkonfiguration?,: För detta, vi kommer att välja webbplats eftersom detta matchar våra infrastrukturbehov.
- system mail name: det här är basdomänen som används för att konstruera en giltig e-postadress när endast kontodelen av adressen anges. Till exempel är värdnamnet för vår server
mail.example.com
, men vi vill förmodligen ställa in systempostnamnet tillexample.com
så att användarnamnetuser1
, Postfix kommer att använda adressen.,
- Root och postmaster mail mottagare: Detta är Linux-kontot som kommer att vidarebefordras mail adresserat till
root@
ochpostmaster@
. Använd ditt primära konto för detta. I vårt fall, sammy. - andra destinationer att acceptera e-post för: detta definierar de postdestinationer som Postfix-instansen accepterar. Om du behöver lägga till några andra domäner som den här servern kommer att ansvara för att ta emot, Lägg till dem här, annars bör standard fungera bra.
- tvinga synkrona uppdateringar på postkö?,: Eftersom du sannolikt använder ett journalfört filsystem, Acceptera Nej här.
- lokala nätverk: det här är en lista över de nätverk som din e-postserver är konfigurerad för att vidarebefordra meddelanden till. Standard bör fungera för de flesta scenarier. Om du väljer att ändra det, se till att vara mycket restriktiv när det gäller nätverksintervallet.
- mailbox size limit: detta kan användas för att begränsa storleken på meddelanden. Ställa in den på ” 0 ” inaktiverar någon storleksbegränsning.,
- lokalt adresstilläggskaraktär: det här är tecknet som kan användas för att skilja den vanliga delen av adressen från ett tillägg (används för att skapa dynamiska Alias).
- internetprotokoll att använda: Välj om du vill begränsa den IP-version som Postfix stöder. Vi väljer ”alla” för våra syften.
för att vara explicit är det de inställningar vi använder för den här guiden:
om du någonsin behöver återvända för att justera dessa inställningar igen kan du göra det genom att skriva:
- sudo dpkg-reconfigure postfix
anvisningarna kommer att vara förfyllda med dina tidigare svar.,
När du är klar kan vi nu göra lite mer konfiguration för att ställa in vårt system hur vi vill ha det.
steg 2: Justera Postfix-konfigurationen
därefter kan vi justera vissa inställningar som paketet inte uppmanade oss för.
till att börja med kan vi ställa in brevlådan. Vi kommer att använda Maildir-formatet, som separerar meddelanden i enskilda filer som sedan flyttas mellan kataloger baserat på användaråtgärd. Det andra alternativet är MBOX-formatet (som vi inte kommer att täcka här) som lagrar alla meddelanden i en enda fil.,
vi ställer in variabelnhome_mailbox
tillMaildir/
som skapar en katalogstruktur under det namnet i användarens hemkatalog. Kommandotpostconf
kan användas för att fråga eller ställa in konfigurationsinställningar. Konfigurerahome_mailbox
genom att skriva:
- sudo postconf -e 'home_mailbox= Maildir/'
därefter kan vi ställa in platsen för tabellenvirtual_alias_maps
. Denna tabell kartlägger godtyckliga e-postkonton till Linux-systemkonton. Vi kommer att skapa denna tabell på /etc/postfix/virtual
., Återigen kan vi använda kommandot postconf
:
- sudo postconf -e 'virtual_alias_maps= hash:/etc/postfix/virtual'
steg 3: Kartlägg e-postadresser till Linux-konton
därefter kan vi ställa in filen virtuella kartor. Öppna filen i textredigeraren:
- sudo nano /etc/postfix/virtual
den virtuella karttabellen alias använder ett mycket enkelt format. Till vänster kan du lista alla adresser som du vill acceptera e-post för. Efteråt, åtskilda av blanktecken, ange den Linux-användare du vill att e-post levereras till.,
om du till exempel vill acceptera e-post på och
och vill ha dessa e-postmeddelanden levererade till
sammy
Linux-användaren kan du konfigurera din fil så här:
[email protected] [email protected] sammy
När du har mappat alla adresser till lämpliga serverkonton, spara och stäng filen.,
vi kan använda mappningen genom att skriva:
- sudo postmap /etc/postfix/virtual
Starta om Postfix-processen för att vara säker på att alla våra ändringar har tillämpats:
- sudo systemctl restart postfix
steg 4: Justera brandväggen
om du kör UFW-brandväggen, som konfigurerad i den ursprungliga serverns installationsguide, måste vi tillåta ett undantag för Postfix.
Du kan tillåta anslutningar till tjänsten genom att skriva:
- sudo ufw allow Postfix
komponenten Postfix-server är installerad och klar. Därefter kommer vi att ställa in en klient som kan hantera posten som Postfix kommer att bearbeta.,
Steg 5: Ställa in miljön för att matcha e-postplatsen
innan vi installerar en klient bör vi se till att vår miljövariabel MAIL
är korrekt inställd. Klienten kommer att inspektera denna variabel för att ta reda på var du ska leta efter användarens mail.
för att variabeln ska ställas in oavsett hur du kommer åt ditt konto (via ssh
, su
, su -
, sudo
, etc.) vi måste ställa in variabeln på några olika platser., Vi lägger till den i/etc/bash.bashrc
och en fil i/etc/profile.d
för att se till att varje användare har denna konfigurerad.
för att lägga till variabeln i dessa filer, skriv:
- echo 'export MAIL=~/Maildir' | sudo tee -a /etc/bash.bashrc | sudo tee -a /etc/profile.d/mail.sh
för att läsa variabeln i din aktuella session kan du hämta filen/etc/profile.d/mail.sh
:
- source /etc/profile.d/mail.sh
steg 6: Installera och konfigurera e-postklienten
För att interagera med den post som levereras kan vi kommer att installera paketets-nail
., Detta är en variant av BSD xmail
– klienten, som är funktionsrik, kan hantera Maildir-formatet korrekt och är mestadels bakåtkompatibel. GNU-versionen av mail
har vissa frustrerande begränsningar, till exempel att alltid spara Läs e-post till MBOX-format oavsett källformat.
för att installera paketets-nail
, skriv:
- sudo apt-get install s-nail
Vi bör justera några inställningar., Öppna filen/etc/s-nail.rc
I redigeraren:
- sudo nano /etc/s-nail.rc
längst ner i filen, Lägg till följande alternativ:
. . .set emptystartset folder=Maildirset record=+sent
detta gör det möjligt för klienten att öppna även med en tom inkorg. Det kommer också att ställa in Maildir
katalogen till den interna folder
variabeln och använd sedan detta för att skapa en sent
MBOX-fil inom det, för att lagra skickat mail.
spara och stäng filen när du är klar.,
Steg 7: initiera Maildir och testa klienten
Nu kan vi testa klienten.
initiera katalogstrukturen
det enklaste sättet att skapa Maildir-strukturen i vår hemkatalog är att skicka oss ett mail. Vi kan göra detta med kommandotmail
. Eftersom filensent
endast är tillgänglig när Maildir skapas, bör vi inaktivera skrivning till det för vår första e-post. Vi kan göra detta genom att skicka alternativet-Snorecord
.,
skicka e-postmeddelandet genom att skicka en sträng till kommandotmail
. Justera kommandot för att markera din Linux – användare som mottagare:
- echo 'init' | mail -s 'init' -Snorecord sammy
Du bör få följande svar:
OutputCan't canonicalize "/home/sammy/Maildir"
detta är normalt och visas bara under det första meddelandet., Vi kan kontrollera för att se till att katalogen skapades genom att leta efter vår~/Maildir
katalog:
- ls -R ~/Maildir
Du bör se att katalogstrukturen har skapats och att en ny meddelandefil finns i katalogen~/Maildir/new
:
det ser ut som att vårt mail har levererats.,
- h
Outputs-nail version v14.8.6. Type ? for help."/home/sammy/Maildir": 1 message 1 new>R 1 [email protected] Wed Dec 31 19:00 14/369 init
eftersom det här meddelandet inte är särskilt användbart kan vi ta bort det med d:
- d
Avsluta för att komma tillbaka till terminalen genom att skriva q:
- q
skicka e-post till klienten
Du kan testa att skicka e-post genom att skriva ett meddelande i en textredigerare:
- nano ~/test_message
inuti, skriv in någon text som du vill maila:
Hello,This is a test. Please confirm receipt!
med kommandot cat
kan vi skicka meddelandet till
Hello,This is a test. Please confirm receipt!
med kommandot cat
f6560fd726 ” > process., Detta kommer att skicka meddelandet som din Linux-användare som standard. Du kan justera fältet ”From” med flaggan -r
om du vill ändra det värdet till något annat:
- cat ~/test_message | mail -s 'Test email subject line' -r from_field_account [email protected]
alternativen ovan är:
-
-s
: ämnesraden i e-postmeddelandet -
-r
: en valfri ändring i fältet ”From:” i e-postmeddelandet. Som standard används Linux-användaren du är inloggad som för att fylla i det här fältet. Alternativet-r
låter dig åsidosätta detta., -
: kontot att skicka e-postmeddelandet till. Ändra detta till ett giltigt konto som du har tillgång till.
Du kan visa dina skickade meddelanden i dinmail
– klient. Starta den interaktiva klienten igen genom att skriva:
- mail
efteråt, visa dina skickade meddelanden genom att skriva:
- file +sent
Du kan hantera skickat mail med samma kommandon som du använder för inkommande post.
slutsats
Du borde nu ha Postfix konfigurerad på din Ubuntu 16.04-server., Hantera e-postservrar kan vara en tuff uppgift för början administratörer, men med denna konfiguration, Du bör ha grundläggande mta e-postfunktionalitet för att komma igång.
Lämna ett svar