Hur Att Installera och Konfigurera Postfix på Ubuntu 20.04

Hur Att Installera och Konfigurera Postfix på Ubuntu 20.04

En tidigare version av denna tutorial är skriven av Justin Ellingwood

Inledning

Postfix är en populär öppen källkod 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 du dig hur du installerar och konfigurerar Postfix på en Ubuntu 20.04-server., Sedan testar du att Postfix kan skicka e-post korrekt genom att installera s-nail, en Mailanvändare Agent (MUA), även känd som en e-postklient.

Observera att målet med denna handledning är att hjälpa dig att få Postfix igång snabbt med bara några bare-bones e-postfunktionalitet. Du kommer inte att ha en fullfjädrad e-postserver i slutet av den här guiden, men du kommer att ha några av de grundläggande komponenterna i en sådan inställning som hjälper dig att komma igång.

förutsättningar

för att följa den här guiden behöver du följande:

  • en server som kör Ubuntu 20.,04 för att fungera som din Postfix mailserver. Den här servern ska ha en icke-root-användare med sudo – behörighet och en brandvägg konfigurerad med UFW. Du kan följa vår Ubuntu 20.04 initial server setup guide för att ställa in detta.
  • ett fullt kvalificerat domännamn pekade på din Ubuntu 20.04-server. Du kan hitta hjälp med att konfigurera ditt domännamn med DigitalOcean genom att följa våra domäner och DNS-nätverksdokumentation. Tänk på att om du planerar att komma åt e-post från en extern plats, måste du se till att du har en MX-post som pekar på din e-postserver samt.,

Observera att denna handledning förutsätter att du konfigurerar en värd som har FQDN förmail.example.com. Var noga med att ändra example.com eller mail.example.com för att spegla din egen FQDN.

Steg 1-Installera Postfix

Postfix ingår i Ubuntu standardförråd, så att du kan installera det med APT.

för att börja, uppdatera din lokalaapt paketcache:

  • sudo apt update

Installera sedan paketetpostfix med följande kommando., Observera att här skickar vi DEBIAN_PRIORITY=low miljövariabel till det här installationskommandot. Detta kommer att leda till att installationsprocessen uppmanar dig att konfigurera några ytterligare alternativ:

  • sudo DEBIAN_PRIORITY=low apt install postfix

den här installationsprocessen öppnar en serie interaktiva uppmaningar. I denna handledning använder du följande information för att fylla i dina uppmaningar:

  • allmän typ av postkonfiguration?: För detta, välj 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. Låt oss till exempel säga att värdnamnet på din server är mail.example.com. Du kommer sannolikt att vilja ställa in systempostnamnet till example.com så att Postfix, med tanke på användarnamnet user1, använder adressen .
  • Root och postmaster mail mottagare: Detta är Linux-kontot som kommer att vidarebefordras mail adresserat till root@och postmaster@., Använd ditt primära konto för detta. I det här exemplet, sammy.
  • andra destinationer att acceptera e-post för: detta definierar de postdestinationer som Postfix-instansen accepterar. Om du behöver lägga till andra domäner som den här servern ansvarar för att ta emot, Lägg till dem här. Annars kommer standardvärdet att vara tillräckligt.
  • 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 för vilka din e-postserver är konfigurerad för att vidarebefordra meddelanden., Standard fungerar 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 alla storleksbegränsningar.
  • 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). Standardvärdet,+ kommer att fungera för denna handledning.,
  • internetprotokoll att använda: Välj om du vill begränsa den IP-version som Postfix stöder. I denna handledning, Välj alla.

för att vara explicit är det de inställningar som används i den här guiden:

Obs: Om du någonsin behöver återvända för att ändra dessa inställningar kan du göra det genom att skriva:

  • sudo dpkg-reconfigure postfix

anvisningarna kommer att fyllas i i förväg med dina tidigare svar.

när installationsprocessen är klar är du redo att göra några uppdateringar av Postfix-konfigurationen.,

steg 2-Ändra Postfix-konfigurationen

Nu kan du justera vissa inställningar som paketinstallationsprocessen inte uppmanade dig för. Många av Postfixens konfigurationsinställningar definieras i filen/etc/postfix/main.cf. I stället för att redigera den här filen direkt kan du använda Postfixens postconf – kommando för att fråga eller ställa in konfigurationsinställningar.

för att börja, Ställ in platsen för din icke-root Ubuntu-användares brevlåda., I den här guiden använder vi Maildir-formatet, som separerar meddelanden i enskilda filer som sedan flyttas mellan kataloger baserat på användaråtgärd. Det alternativa alternativet som inte omfattas av den här guiden är MBOX-formatet, som lagrar alla meddelanden i en enda fil.

Ställ in variabelnhome_mailbox tillMaildir/. Senare skapar du en katalogstruktur under det namnet i användarens hemkatalog., Konfigurerahome_mailbox genom att skriva:

  • sudo postconf -e 'home_mailbox= Maildir/'

ställ sedan in platsen för tabellenvirtual_alias_maps, som kartlägger godtyckliga e-postkonton till Linux-systemkonton. Kör följande kommando, som kartlägger tabellplatsen till en hash-databasfil med namnet /etc/postfix/virtual:

  • sudo postconf -e 'virtual_alias_maps= hash:/etc/postfix/virtual'

Nu när du har definierat platsen för den virtuella kartfilen i filen main.cf kan du skapa filen själv och börja mappa e-postkonton till användarkonton på ditt Linux-system., Skapa filen med din föredragna textredigerare; i det här exemplet använder vi nano:

  • sudo nano /etc/postfix/virtual

lista alla adresser som du vill acceptera e-post för, följt av ett blanktecken och Linux-användaren du vill att e-postmeddelandet levereras till.,

till exempel, om du vill acceptera e-post på och och vill ha dessa e-postmeddelanden levererade till Sammy Linux-användaren, kan du ställa in din fil så här:

/etc/postfix/virtual
[email protected] [email protected] sammy

Efter att du har mappat alla de e-postmeddelanden som adresser till lämpliga serverkonton, spara och stäng filen. Om du använde nano, gör detta genom att trycka på CTRL + X, Y, sedan ENTER.,

använd mappningen genom att skriva:

  • sudo postmap /etc/postfix/virtual

Starta om Postfix-processen för att vara säker på att alla dina ändringar har tillämpats:

  • sudo systemctl restart postfix

Om du antar att du följde den grundläggande installationsguiden för servern har du konfigurerat en brandvägg med UFW. Denna brandvägg blockerar externa anslutningar till tjänster på din server som standard om inte dessa anslutningar uttryckligen tillåts, så du måste lägga till en brandväggsregel för att tillåta ett undantag för Postfix.,

Du kan tillåta anslutningar till tjänsten genom att skriva:

  • sudo ufw allow Postfix

med det är Postfix konfigurerat och redo att acceptera externa anslutningar. Men du är ännu inte redo att testa det med en e-postklient. Innan du kan installera en klient och använda den för att interagera med e-post som levereras till din server, måste du göra några ändringar i din Ubuntu server setup.,

steg 3-Installera e-postklienten och initiera Maildir-strukturen

för att interagera med posten som levereras, kommer det här steget att gå igenom processen att installera paketet s-nail. Detta är en funktionsrik variant av BSD xmail-klienten som kan hantera Maildir-formatet korrekt.

innan du installerar klienten är det dock klokt att se till att miljövariabeln MAIL är korrekt inställd., s-nail kommer att leta efter denna variabel för att ta reda på var du hittar e-post för din användare.

för att säkerställa att variabeln MAIL är inställd oavsett hur du kommer åt ditt konto — antingen via ssh, su, su -, eller sudo, till exempel — måste du ställa in variabeln i filen /etc/bash.bashrc och Lägg till den i en fil i /etc/profile.d för att se till att den är inställd för alla användare som standard.,

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, källa/etc/profile.d/mail.sh fil:

  • source /etc/profile.d/mail.sh

Installeras-nail e-postklient med APT:

  • sudo apt install s-nail

innan du kör klienten finns det några inställningar du behöver justera. Öppna filen/etc/s-nail.rc I redigeraren:

  • sudo nano /etc/s-nail.rc

längst ner i filen lägger du till följande alternativ:

/etc / s-nail.,rc
. . .set emptystartset folder=Maildirset record=+sent

här är vad dessa rader gör:

  • set emptystart: tillåter klienten att öppna även med en tom inkorg
  • set folder=Maildir: ställer in katalogen Maildir till den interna folder variabel
  • set record=+sent skapar en sent mbox-fil för lagring av skickat mail inom vilken katalog som är inställd som variabeln folder, I det här fallet Maildir

spara och stäng filen när du vill spara den.du är klar., Du är nu redo att initiera systemets Maildir struktur.

ett snabbt sätt att skapa Maildir-strukturen i din hemkatalog är att skicka ett e-postmeddelande med kommandot s-nail. Eftersom filensent endast kommer att vara tillgänglig när Maildir skapas, bör du inaktivera skrivning till den för detta första e-postmeddelande. Gör detta genom att skicka-Snorecord – alternativet.

skicka e-postmeddelandet genom att skicka en sträng till kommandots-nail., Justera kommandot för att markera din Linux – användare som mottagare:

  • echo 'init' | s-nail -s 'init' -Snorecord sammy

Obs! Du kan få följande svar:

Output
Can't canonicalize "/home/sammy/Maildir"

detta är normalt och kan bara visas när du skickar det första meddelandet.,

Du kan kontrollera att katalogen skapades genom att leta efter din katalog ~/Maildir:

  • ls -R ~/Maildir

Du kommer att se att katalogstrukturen har skapats och att en ny meddelandefil finns i katalogen ~/Maildir/new:

nu när katalogstrukturen har skapats är du redo att skapa en ny katalog.testa s-nail – klienten genom att visa init – meddelandet du skickade och skicka ett meddelande till en extern e-postadress.,

steg 4 — Testa klienten

för att öppna klienten, kör kommandot s-nail:

  • s-nail

i konsolen ser du en rudimentär inkorg med meddelandet init väntar:

Tryck på ENTER för att visa meddelandet:

Du kan komma tillbaka till meddelandelistan genom att skriva h och sedan ENTER:

  • h
Output
>R 1 [email protected] 2020-05-19 15:40 14/392 init

Lägg märke till att meddelandet nu har ett tillstånd av

  • h
Output
>R 1 [email protected] 2020-05-19 15:40 14/392 init

id = ”f26cfbc2fe” > , vilket indikerar att det har lästs.,

eftersom det här meddelandet inte är särskilt användbart kan du ta bort det genom att trycka påd och sedanENTER:

  • d

för att komma tillbaka till terminalen skriver duq och sedanENTER:

  • q

som ett sluttest, kontrollera oms-nail kan skicka e-postmeddelanden korrekt. För att göra detta kan du leda innehållet i en textfil till s-nail – processen, som du gjorde med init – meddelandet du skickade i föregående steg.,

börja med att skriva ett testmeddelande i en textredigerare:

  • nano ~/test_message

inuti, skriv in någon text du vill skicka:

~/test_message
Hello,This is a test. Please confirm receipt!

spara och stäng filen efter att ha skrivit ditt meddelande.

använd sedan kommandotcatför att skicka meddelandet till processens-nail., Du kan göra det med följande exempel, som använder följande alternativ:

  • -s: detta definierar ä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 med en giltig adress, till exempel en av dem du definierade i filen/etc/postfix/virtual., För att illustrera använder följande kommando

var noga med att ändra till en giltig e-postadress som du har tillgång till:

navigera sedan till inkorgen för den e-postadress som du skickade meddelandet till. Du kommer att se ditt meddelande väntar där nästan omedelbart.

Obs! Om meddelandet inte finns i din inkorg kan det ha levererats till din skräppostmapp.

Du kan visa dina skickade meddelanden is-nail – klienten., Starta den interaktiva klienten igen:

  • s-nail

Från e-postklienten, visa dina skickade meddelanden genom att skriva:

  • file +sent

du ser utdata så här:

Output
+sent: 1 message 1 new▸N 1 [email protected] 2020-05-19 15:47 12/297 Test email subject line

Du kan hantera skickat e-post med samma kommandon som du använder för inkommande e-post.

slutsats

Du har nu Postfix konfigurerad på din Ubuntu 20.04-server. Hantera e-postservrar kan vara en tuff uppgift för nya systemadministratörer, men med denna konfiguration, Du bör ha tillräckligt mta e-funktionalitet för att komma igång.

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *