Postfix installeren en configureren op Ubuntu 20.04

Postfix installeren en configureren op Ubuntu 20.04

een vorige versie van deze tutorial is geschreven door Justin Ellingwood

Introduction

Postfix is een populaire open-source Mail Transfer Agent (MTA) die kan worden gebruikt om e-mail te routeren en te leveren op een Linux-systeem. Geschat wordt dat ongeveer 25% van de openbare mailservers op het internet Postfix draaien.

in deze handleiding leert u hoe u Postfix op een Ubuntu 20.04-server installeert en configureert., Vervolgens test je of Postfix mail correct kan routeren door s-nail te installeren, een Mail User Agent (MUA), ook bekend als een e-mailclient.

merk op dat het doel van deze tutorial is om u te helpen Postfix snel aan de gang te krijgen met slechts enkele kale e-mailfunctionaliteit. U zult niet een volledige featured e-mailserver tegen het einde van deze gids, maar u zult een aantal van de fundamentele componenten van een dergelijke setup om u te helpen aan de slag.

Prerequisites

om deze gids te volgen, hebt u het volgende nodig:

  • een server waarop Ubuntu 20 wordt uitgevoerd.,04 om te functioneren als uw Postfix mail server. Deze server moet een niet-root gebruiker hebben met sudo privileges en een firewall geconfigureerd met UFW. U kunt onze Ubuntu 20.04 initial server setup guide volgen om dit in te stellen.
  • een volledig gekwalificeerde domeinnaam naar uw Ubuntu 20.04-server. U kunt hulp vinden bij het instellen van uw domeinnaam met DigitalOcean door onze documentatie over domeinen en DNS-netwerken te volgen. Wees ervan bewust dat als u van plan bent om toegang te krijgen tot e-mail vanaf een externe locatie, moet u ervoor zorgen dat u een MX-record hebt dat ook naar uw mailserver wijst.,

merk op dat deze tutorial ervan uitgaat dat u een host configureert met de FQDN van mail.example.com. Indien nodig moet u example.com of mail.example.com wijzigen om uw eigen FQDN weer te geven.

Stap 1-Postfix installeren

Postfix is opgenomen in de standaard repositories van Ubuntu, dus u kunt het installeren met APT.

om te beginnen, update je lokale apt pakketcache:

  • sudo apt update

Installeer dan het postfix pakket met het volgende commando., Merk op dat we hier de DEBIAN_PRIORITY=low omgevingsvariabele doorgeven aan dit installatie Commando. Dit zal ervoor zorgen dat het installatie proces je vraagt om een aantal extra opties in te stellen:

  • sudo DEBIAN_PRIORITY=low apt install postfix

Dit installatie proces zal een reeks interactieve prompts openen. Gebruik voor deze tutorial de volgende informatie om uw vragen in te vullen:

  • Algemeen Type E-mailconfiguratie?: Kies hiervoor internetsite, omdat dit aansluit bij onze infrastructuurbehoeften.,
  • Systeemmailnaam: Dit is het basisdomein dat wordt gebruikt om een geldig e-mailadres te construeren wanneer alleen het accountgedeelte van het adres wordt opgegeven. Bijvoorbeeld, laten we zeggen dat de hostnaam van uw server mail.example.comis. U zult waarschijnlijk de systeemmailnaam willen instellen op example.com zodat, gegeven de gebruikersnaam user1, Postfix het adres zal gebruiken.
  • root-en postmaster-e-mailontvanger: Dit is het Linux-account dat mail zal doorsturen die is geadresseerd aan root@ en postmaster@., Gebruik hiervoor je primaire account. In dit voorbeeld geval, sammy.
  • andere bestemmingen om e-mail te accepteren: dit definieert de e-mailbestemmingen die deze postfix instantie zal accepteren. Als u andere domeinen wilt toevoegen die deze server verantwoordelijk zal zijn voor het ontvangen, voeg deze dan hier toe. Anders zal de standaard voldoende zijn.
  • synchrone updates forceren in e-mailwachtrij?: Omdat je waarschijnlijk een journaled bestandssysteem gebruikt, accepteer hier geen.
  • lokale netwerken: Dit is een lijst van de netwerken waarvoor uw mailserver is geconfigureerd om berichten door te geven., De standaard zal werken voor de meeste scenario ‘ s. Als u ervoor kiest om het te wijzigen, echter, zorg ervoor dat zeer restrictief met betrekking tot het netwerkbereik.
  • postvakgrootte limiet: dit kan worden gebruikt om de grootte van berichten te beperken. Door het in te stellen op 0 schakelt elke groottebeperking uit.
  • lokaal adresextensie teken: dit is het teken dat gebruikt kan worden om het reguliere gedeelte van het adres te scheiden van een extensie (gebruikt om dynamische aliassen te maken). De standaard, + zal werken voor deze tutorial.,
  • te gebruiken internetprotocollen: kies of u de IP-versie wilt beperken die Postfix ondersteunt. Voor de doeleinden van deze tutorial, kies Alles.

om expliciet te zijn, zijn dit de instellingen die in deze gids worden gebruikt:

Opmerking: Als u ooit wilt terugkeren om deze instellingen te wijzigen, kunt u dit doen door te typen:

  • sudo dpkg-reconfigure postfix

De prompts zullen vooraf worden ingevuld met uw vorige antwoorden.

wanneer het installatie proces is voltooid, bent u klaar om een paar updates te maken voor uw postfix configuratie.,

Stap 2-Het wijzigen van de Postfix configuratie

nu kunt u een aantal instellingen aanpassen waar het pakket installatie proces u niet om gevraagd heeft. Veel van de instellingen van Postfix zijn gedefinieerd in het /etc/postfix/main.cf bestand. In plaats van dit bestand direct te bewerken, kunt u Postfix ‘ s postconf commando gebruiken om configuratie-instellingen op te vragen of in te stellen.

om te beginnen, stelt u de locatie in voor de mailbox van uw niet-root Ubuntu-gebruiker., In deze handleiding gebruiken we het Maildir-formaat, dat berichten scheidt in individuele bestanden die vervolgens worden verplaatst tussen mappen op basis van de actie van de gebruiker. De alternatieve optie die niet wordt behandeld in deze gids is de MBOX-formaat, die alle berichten in een enkel bestand opslaat.

Stel de variabele home_mailbox in op Maildir/. Later zal je een mapstructuur maken onder die naam in de persoonlijke map van je gebruiker., Configureer home_mailbox door te typen:

  • sudo postconf -e 'home_mailbox= Maildir/'

vervolgens stelt u de locatie in van de virtual_alias_maps tabel, die willekeurige e-mailaccounts toewijst aan Linux-systeemaccounts. Voer het volgende commando uit, dat de tabellocatie toewijst aan een hash-databasebestand met de naam /etc/postfix/virtual:

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

Nu u de locatie van het virtuele maps-bestand hebt gedefinieerd in uw main.cf bestand, kunt u het bestand zelf aanmaken en beginnen met het toewijzen van e-mailaccounts aan gebruikersaccounts op uw Linux-systeem., Maak het bestand aan met de gewenste teksteditor; in dit voorbeeld gebruiken we nano:

  • sudo nano /etc/postfix/virtual

een lijst met adressen waarvoor u e-mail wilt accepteren, gevolgd door een witruimte en de Linux-gebruiker waar u die mail wilt ontvangen.,

bijvoorbeeld, als u wilt accepteren e-mail aan en en zou graag de e-mails afgeleverd op de sammy Linux gebruiker, kunt u uw bestand als volgt aan:

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

Nadat u alles hebt toegewezen alle adressen op de juiste server-accounts, opslaan en sluit het bestand. Als u nano gebruikt, doe dit door op CTRL + X te drukken, Y, dan ENTERte drukken.,

Pas de toewijzing toe door te typen:

  • sudo postmap /etc/postfix/virtual

Herstart het postfix-proces om er zeker van te zijn dat al uw wijzigingen zijn toegepast:

  • sudo systemctl restart postfix

aangenomen dat u de eerste Serverinstellingshandleiding hebt gevolgd, hebt u een firewall ingesteld met ufw. Deze firewall blokkeert standaard externe verbindingen naar services op je server, tenzij deze verbindingen expliciet zijn toegestaan, dus je moet een firewallregel toevoegen om een uitzondering toe te staan voor Postfix.,

u kunt verbindingen met de service toestaan door te typen:

  • sudo ufw allow Postfix

hiermee is Postfix geconfigureerd en klaar om externe verbindingen te accepteren. Echter, je bent nog niet klaar om het uit te testen met een e-mailclient. Voordat u een client kunt installeren en deze kunt gebruiken om te communiceren met de e-mail die op uw server wordt afgeleverd, moet u een paar wijzigingen aanbrengen in de instellingen van uw Ubuntu-server.,

Stap 3-het installeren van de mailclient en het initialiseren van de Maildir structuur

om te interageren met de mail die wordt afgeleverd, zal deze stap u door het proces van het installeren van het s-nail pakket leiden. Dit is een feature-rijke variant van de BSD xmail client die het Maildir formaat correct kan verwerken.

voordat u de client installeert, is het echter verstandig om ervoor te zorgen dat uw MAIL omgevingsvariabele correct is ingesteld., s-nail zal naar deze variabele Zoeken om uit te zoeken waar mail voor uw gebruiker te vinden is.

om ervoor Te zorgen dat de MAIL variabele is ingesteld, ongeacht hoe u toegang tot uw account — of door het ssh, su, su - of sudo, bijvoorbeeld, moet u de variabele instellen in de /etc/bash.bashrc bestand op te nemen en toe te voegen aan een bestand in /etc/profile.d om te controleren of het is ingesteld voor alle gebruikers standaard.,

om de variabele aan deze bestanden toe te voegen, typ:

  • echo 'export MAIL=~/Maildir' | sudo tee -a /etc/bash.bashrc | sudo tee -a /etc/profile.d/mail.sh

om de variabele in uw huidige sessie te lezen, source the /etc/profile.d/mail.sh file:

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

met dat complete, installeer de s-nail email client with Apt:

  • sudo apt install s-nail

voordat u de client uitvoert, zijn er een paar instellingen die u moet aanpassen. Open het /etc/s-nail.rc bestand in uw editor:

  • sudo nano /etc/s-nail.rc

onderaan het bestand, voeg de volgende opties toe:

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

Hier is wat deze regels doen:

  • set emptystart: hiermee kan de client te openen, zelfs met een lege inbox
  • set folder=Maildir: hiermee stelt u de Maildir map naar de interne folder variabele
  • set record=+sent maakt een sent mbox-bestand voor het opslaan van verzonden berichten in de map die is ingesteld als de folder variabele, in dit geval Maildir

Opslaan en sluit het bestand wanneer u klaar bent., Je bent nu klaar om de Maildir structuur van je systeem te initialiseren.

een snelle manier om de Maildir-structuur binnen uw persoonlijke map aan te maken is door uzelf een e-mail te sturen met het s-nail Commando. Omdat het sent bestand alleen beschikbaar zal zijn als de Maildir is aangemaakt, moet u het schrijven naar deze eerste e-mail uitschakelen. Doe dit door de optie -Snorecord over te geven.

verzend de e-mail door een tekenreeks door te pipen naar het s-nail Commando., Pas het commando aan om uw Linux gebruiker als ontvanger te markeren:

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

Opmerking: U kunt het volgende antwoord krijgen:

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

Dit is normaal en kan alleen verschijnen bij het verzenden van dit eerste bericht.,

u kunt controleren of de map is aangemaakt door te zoeken naar uw ~/Maildir Map:

  • ls -R ~/Maildir

u zult zien dat de mapstructuur is aangemaakt en dat er een nieuw berichtbestand is in de ~/Maildir/new Map:

nu de mapstructuur gemaakt, bent u klaar om de s-nail client uit te testen door het init bericht dat u verzonden hebt te bekijken en een bericht naar een extern e-mailadres te sturen.,

Stap 4 — het Testen van de Client

Om de client, voert de s-nail commando:

  • s-nail

Op de console, zie je een rudimentaire het postvak in met de init message waiting:

Druk op de toets ENTER voor weergave van het bericht:

U kunt teruggaan naar de berichtenlijst door het intypen van h en vervolgens ENTER:

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

Merk op dat het bericht heeft nu een staat van R, dat aangeeft dat het gelezen is.,

Omdat dit bericht is niet erg handig, je kunt deze verwijderen door te drukken op d en vervolgens ENTER:

  • d

om terug Te gaan naar de terminal, type q en vervolgens ENTER:

  • q

Als een laatste test, moet u controleren of s-nail in staat is om correct verzenden van e-mailberichten. Om dit te doen, kunt u de inhoud van een tekstbestand doorsluizen naar het s-nail proces, zoals u deed met het init bericht dat u in de vorige stap stuurde.,

begin met het schrijven van een testbericht in een teksteditor:

  • nano ~/test_message

voer binnen een tekst in die u wilt verzenden:

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

sla het bestand op en sluit het na het schrijven van uw bericht.

gebruik dan hetcat commando om het bericht door te sturen naar hets-nail proces., U kunt dit doen met het volgende voorbeeld, dat de volgende opties gebruikt:

  • -s: dit definieert de onderwerpregel van het e-mailbericht
  • -r: een optionele wijziging in het veld” van: “van de e-mail. Standaard zal de Linux gebruiker waarmee je ingelogd bent, gebruikt worden om dit veld in te vullen. Met de optie -r kunt u dit overschrijven met een geldig adres, zoals een van de adressen die u hebt gedefinieerd in het /etc/postfix/virtual bestand., Ter illustratie gebruikt het volgende commando

. zorg er ook voor dat u wijzigt naar een geldig e-mailadres waartoe u toegang hebt:

navigeer naar het e-mailadres waarnaar u het bericht hebt verzonden. U zult uw bericht daar bijna onmiddellijk zien wachten.

opmerking: als het bericht niet in uw postvak in staat is, kan het in uw spammap zijn afgeleverd.

u kunt uw Verzonden berichten bekijken binnen uws-nail client., Start de interactieve client opnieuw:

  • s-nail

vanuit de e-mailclient kunt u uw Verzonden berichten bekijken door te typen:

  • file +sent

u ziet de uitvoer als volgt:

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

u kunt verzonden e-mail beheren met dezelfde commando ‘ s die u gebruikt voor inkomende e-mail.

conclusie

u hebt Postfix nu geconfigureerd op uw Ubuntu 20.04-server. Het beheren van e-mailservers kan een moeilijke taak voor nieuwe systeembeheerders, maar met deze configuratie, moet je genoeg MTA e-mail functionaliteit om jezelf te beginnen.

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *