Alla har en e-postadress – de är viktiga för att fungera i mitten av 2000-talets sammankopplade värld. De flesta har sina e-postadresser antingen via sin arbetsgivare eller via någon av teknikjättarna som Google eller Microsoft. Men du kan köra din egen e-postserver med ditt eget domännamn från en enkel dator som en Raspberry Pi.

Varför köra en e-postserver på din Raspberry Pi?

E-postmeddelanden är den moderna motsvarigheten till ett brev – det är privat kommunikation, men genom att använda en gratisleverantör som Gmail ger du en rovdjursreklam och företagslicens för att spåra ditt liv, dina möten, personliga kontakter, resplaner och reservationer. Google säljer dessa intrång som funktioner, men för vissa är det en obekväm nivå av snokning.

Genom att köra din egen e-postserver är din data i dina egna händer och på din egen hårdvara, utan tillsyn från skumma företagsenheter. Och om du verkligen behöver förlora ett e-postmeddelande i all hast kan du alltid bara svälja microSD-kortet (gör faktiskt inte det här).

instagram viewer

En Raspberry Pi är perfekt för detta projekt på grund av dess låga strömförbrukning - en e-postserver måste vara påslagen 24/7, så allt kraftfullare är bortkastade pengar. E-post som teknik har funnits sedan 1970-talet och kunde användas på dåtidens datorer. Allt kraftfullare än en Raspberry Pi är överdrivet.

Är det svårt att skapa en Raspberry Pi e-postserver?

Att konfigurera en e-postserver från början kan vara komplicerat: det innebär att installera och konfigurera flera komponenter, inklusive Postfix, Dovecot, openDKIM, SpamAssassin och Sieve. Det kommer att ta upp en betydande del av din dag, och är en process fylld med fara, och en där det är lätt att göra misstag.

Lyckligtvis finns det skript som kan göra det enkelt att installera en e-postserver på din Raspberry Pi, vilket gör att du kan ha din e-postserver igång på under en timme!

Vad du behöver för din e-postserver

För att slutföra det här projektet behöver du:

  • En Raspberry Pi (vilken modell duger)
  • En Ethernet-kabel
  • En statisk IP-adress
  • Ett domännamn – om du inte redan har ett, här är det några användbara tips för att välja ett domännamn
  • Kunskap om din Pi: s lokala IP-adress
  • En annan PC

Ställa in rekord och öppna portar

Navigera till Avancerad DNS sektionen av din registrar och radera alla poster som redan finns. Klick Lägg till ny post. Välj för typen En skiva, för värden, set @, och ställ in din offentliga IP-adress i värdefältet. Spara och klicka sedan Lägg till ny post om igen.

I den här posten, för typen, välj En skiva; för värden, set *; och ställ in din offentliga IP-adress i värdefältet. Lägg slutligen till en ny MX rekord, med @ som värd, mail.din-domän.tld som värde och ställ in prioritet till 10. Spara de nya DNS-posterna.

Öppna din routers adminmeny. Detta görs vanligtvis genom att skriva 192.168.1.1 in i en webbläsare. Om detta inte fungerar för dig, se din routermanual. Leta reda på ett avsnitt med titeln antingen Port Forwarding, Portkartläggning, eller Hamnförvaltning, skapa sedan fyra nya poster:

  • Den första är för HTTP förfrågningar. Ställ in både den lokala och offentliga hamnen på 80, och den lokala IP-adressen till IP-adressen för din Pi.
  • Den andra är för HTTPS förfrågningar. Ställ in både den lokala och offentliga hamnen på 443, och igen, den lokala IP-adressen till IP-adressen för din Pi.
  • Den tredje är för IMAP förfrågningar. Ställ in både den lokala och offentliga hamnen på 993, och igen, den lokala IP-adressen till IP-adressen för din Pi.
  • Den fjärde är för SMTP förfrågningar. Ställ in både den lokala och offentliga hamnen på 587, och igen, den lokala IP-adressen till IP-adressen för din Pi.

Förbered din Pi!

Efter installera ett Debian-baserat operativsystem på din Raspberry Pi (Raspberry Pi OS kommer att fungera bra), anslut den till din router med en Ethernet-kabel.

  1. Logga in på Raspberry Pi med Secure Shell (SSH) antingen via en terminal om du använder Linux eller macOS, eller med PuTTY om på Windows.
    ssh pi@din.pi.lokal.ip-adress
  2. Uppdatera och uppgradera alla paket:
    sudo apt uppdatering
    sudo apt uppgradering
  3. Du kommer att använda Apache som en omvänd proxy för din underdomän för e-post och Certbot för att få säkerhetscertifikat. Installera Apache med:
    sudo apt Installera apache2
  4. Lägg till Certbot-förvaret, uppdatera och installera Certbot:
    sudo add-apt-repository ppa: certbot/certbot
    sudo apt uppdatering
    sudo apt-skaffa sig installera python3-certbot-apache
  5. Ändra katalog:
    CD /etc/apache2/sites-available/
  6. Använd nano för att skapa en ny conf-fil för din underdomän för e-post:
    sudonanopost.conf
    Och klistra in:
    <VirtualHost *:80>
    Server namndin.domän
    </VirtualHost>
    Spara och avsluta nano med Ctrl + O, då Ctrl + X
  7. Byt katalog och kopiera Apaches standardkonfigurationsfil till namnet på din nya domän och ytterligare en kopia till namnet på din underdomän:
    CD /etc/apache2/sites-available/
    sudocp 000-standard.confdin-domän.conf
    sudocp 000-standard.confpost.conf
  8. Redigera din-domän.conf med nano:
    sudonanodin-domän.conf
    Och under linjen, lägg till ytterligare en rad:
    Server namndin-domän.tld
  9. Spara och avsluta nano med Ctrl + O, då Ctrl + X. Och upprepa processen för mail.conf.
  10. Aktivera båda conf-filerna med:
    sudoa2ensitedin-domän.conf
    sudoa2ensitepost.conf
  11. Starta om Apache:
    sudo-tjänsten apache2 omstart
  12. Kör Certbot för att få säkerhetscertifikat och nycklar för både din huvuddomän och e-postunderdomän.
    sudo certbot
    Du kommer att bli ombedd att ange din e-postadress, för att bekräfta att du godkänner användarvillkoren, oavsett om du skulle vara villig att dela din e-postadress med EFF, och slutligen, vilka namn skulle du vilja aktivera HTTPS för. Tryck Lämna tillbaka för att välja alla domäner, och när du tillfrågas om du vill omdirigera HTTP-trafik till HTTPS eller inte, välj 2 att omdirigera.

Installera programvaran för e-postservern

Följ dessa steg för att installera e-postprogramvaran.

  1. Flytta till din hemkatalog och ladda ner emailwiz installationsskript:
    CD ~
    curl -LO lukesmith.xyz/emailwiz.sh
  2. Det är alltid bra att veta vad ett skript gör innan det körs på din Raspberry Pi, så:
    kattemailwiz.sh
    …för att se efter eventuella elaka.
  3. Gör skriptet körbart och kör sedan skriptet:
    sudochmod +xemailwiz.sh
    sudo ./emailwiz.sh
  4. Skriptet kommer att ladda ner och installera Postfix, Dovecot, openDKIM och SpamAssasin, och du kommer att behöva interagera med installationen i olika skeden.
  5. Installationsguiden kommer att be dig välja en konfigurationstyp för e-postservern. Använd piltangenterna på ditt tangentbord för att välja internetsajt, tryck sedan på Flik nyckel så att OK markeras och träffas Stiga på.
  6. Därefter kommer du att bli ombedd att ange ditt fullt kvalificerade domännamn. Lägg inte till www eller http till domännamnet – skriv bara in själva domännamnet.
  7. När installationen har slutförts kommer du att presenteras med tre textposter markerade i grönt, tillsammans med värden och värden.
  8. Öppna en webbläsare igen, gå till din registrars avancerade DNS-sida och skapa tre nya TXT-poster och klistra in varje post i motsvarande fält. Dessa kommer att se till att din e-post håller sig utanför andras skräppostbox.
  9. Alla användare som lagts till i post gruppen kommer att få ett e-postkonto med deras Pi-användarnamn och lösenord. Lägg till din Pi-användare i e-postgruppen:
    sudo usermod -G mail -m
    Så enkelt är det!

Anslut till din e-postserver med en klient på mobil eller skrivbord

Din e-postserver är fullt fungerande och redo att användas. Den är skyddad mot inkräktare och alla användarkonton på din Pi kan använda den. Det är dags att ansluta till den med en e-postklient – ​​även om alla e-postmeddelanden som skickas vid denna tidpunkt troligen hamnar i mottagarens skräppostbox. Vi använder Thunderbird-e-post för detta, även om proceduren kommer att vara liknande för alla mobila eller stationära e-postklienter.

Klicka på i din e-postklient Lägg till konto, och du kommer att bli inbjuden till Ställ in din befintliga e-postadress. Ange ditt namn, din e-postadress och ditt lösenord. Din e-postadress är ditt användarnamn på Pi plus domännamnet; t.ex. [email protected]. Ditt lösenord kommer att vara lösenordet som din användare använder för att logga in på Pi.

Istället för att klicka på Fortsätta klicka istället på knappen Konfigurera manuellt länk. Du måste fylla i detaljer för både inkommande och utgående server. För dessa är värdnamnet eller servernamnet mail.ditt-domännamn.tld, inloggningsnamnet är din fullständiga e-postadress och lösenordet är... ditt lösenord. Ställ in IMAP-porten på 993 och SMTP-porten till 587. Anslutningssäkerhet bör ställas in på STARTTLS och autentiseringsmetoden till normalt lösenord.

Du kan nu skicka och ta emot e-post via din Raspberry Pi e-postserver!

Att driva din egen e-posttjänst innebär att du inte behöver förlita dig på någon annan. Du är helt självförsörjande och utanför teknikjättarnas område. Trots det, om du använder din e-postserver i onda syften - som massmeddelanden eller skräppost, kommer du att bli svartlistad av andra leverantörer. Så var försiktig.