Skillnad mellan versioner av "Elektronisk post på Lysatorvis"

Från Lysators datorhandbok, den ultimata referensen.
Hoppa till navigering Hoppa till sök
(Byte ut all text om att läsa epost.)
(Skrev om all information om extra addresser.)
Rad 58: Rad 58:
 
set folder = /var/mail/''användarnamn''/Maildir
 
set folder = /var/mail/''användarnamn''/Maildir
 
set mbox = /var/mail/''användarnamn''/Maildir
 
set mbox = /var/mail/''användarnamn''/Maildir
  +
  +
  +
==Extra adresser==
  +
Om man känner att man behöver extra e-postaddresser (t.ex. för att förenkla sortering av skräppost) tillhandahåller Lysator följande funktioner:
 
===Plus-syntaxen===
  +
Alla addresser på formen <code>''användarnamn''+''någonting''@lysator.liu.se</code> levereras till den användarnamnet före '+'-teckenet. T.ex. levereras mail till <code>gazonk+lysmail@lysator.liu.se</code> Lysatoranvändaren "gazonk".
  +
  +
Varje address av det här slaget kan ha en egen .forward-fil, då med namnet <code>/var/mail/''användarnamn''/.forward+''extra''</code> (där ''extra'' är delen efter '+'-tecknet).
  +
 
===<code>user</code>-domänen===
  +
Även alla mail till <code>''någonting''@''användarnamn''.user.lysator.liu.se</code> kommer levereras till användaren. T.ex. kommer <code>testaddress@gazonk.user.lysator.liu.se</code> komma fram till användaren gazonk.
  +
  +
När det här systemet används kommer följande e-posthuvud bli satt, vilket kan hjälpa med automatisk sortering:
  +
  +
Delivered-to: ''användarnamn''+user_''localpart''@lysator.liu.se
  +
Där ''localpart'' är det som stod innan '@' i addressen. Även
  +
speciella .forward-filen kan användas (likt nämnt
  +
[[#Plus-syntaxen|ovan]]), Dock i det här fallet som
  +
<code>.forward+user_''localpart''</code>.
  +
  +
{{Föråldrad}}
  +
  +
Pga diverse omskrivningar så behålls inte hela To-raden när du gör
  +
såhär, utan när du får brevet har ditt användarnamn kapats bort. Det
  +
här är en stor bugg, men ingen har lyckats fixa den, så tig och lid.
  +
Eller ge oss rötter tips om hur man kan fixa till det.
  +
  +
   
 
==Sortering via procmail==
 
==Sortering via procmail==
Rad 132: Rad 160:
 
===Spamassassin===
 
===Spamassassin===
 
Mailet körs sedan igenom Spamassassin, som med hjälp av regler, DNS-listor, analys på ingående URLer, autolearn mm försöker detektera spam. Påfallande ofta lyckas det, och då märks mailet upp med headern X-Spam-Flag: Yes.
 
Mailet körs sedan igenom Spamassassin, som med hjälp av regler, DNS-listor, analys på ingående URLer, autolearn mm försöker detektera spam. Påfallande ofta lyckas det, och då märks mailet upp med headern X-Spam-Flag: Yes.
 
===Engångsadresser===
 
 
Det absolut effektivaste sättet att slippa spam är att aldrig någonsin ge ut sin emailadress till någon. Fast då försvinner lite av idén med email.
 
 
En annan variant är att använda engångsadresser när man exempelvis anmäler sig på diverse webtjänster och för adresser man har på sina websidor. Lysators system erbjuder två sätt att generera sådana adresser.
 
 
====Plus-syntaxen====
 
 
Adresser av typen <tt>&lt;username&gt;+&lt;extension&gt;@lysator.liu.se</tt> ger ett sätt att skapa engångsadresser. Mail som skickas till exempelvis <tt>gazonk+lysmail@lysator.liu.se</tt> hamnar i brevlådan för användaren 'gazonk'.
 
 
Som en extra feature går det att använda särskilda .forward-filer för sådana här adresser. Om du skapar en <tt>.forward+lysmail</tt> i <tt>/var/mail/&lt;username&gt;</tt> så kan du styra vad som ska hända med mail som skickas till &lt;dittanvändarnamn&gt;+lysmail@lysator.liu.se. Om du märker att en adress du skapat på det här sättet används för spam kan du alltså skapa en <tt>.forward-fil</tt> för den adressen som innehåller raden <tt>/dev/null</tt>. Då kommer all mail till den adressen att kastas i bithinken, dvs tas bort innan det når dig.
 
 
Ett problem med den här typen av adresser är att inte alla webtjänster och liknande anser att den är korrekt, så de kan vägra ta emot den. Då kan man använda en adress från User-domänen i stället.
 
 
Plus-syntaxen kan naturligtvis användas till andra saker också, exempelvis för att snabbt implementera mailinglistor. Se hur man startar och driver en elektronisk postlista för mer information.
 
 
====User-domänen====
 
 
Alla användare på lysator har möjlighet att använda adresser på mönstret <tt>&lt;någonting&gt;@&lt;username&gt;.user.lysator.liu.se</tt>. Dvs, om du har användarnamnet 'gazonk' så kan du använda adresser där delen efter '@' är <tt>gazonk.user.lysator.liu.se</tt>. Vad du skriver före '@' spelar ingen roll, det hamnar i din mailbox ändå.
 
 
Det här betyder att om du anmäler dig till webtjänsten "foo" så kan du använda (exempelvis) adressen <tt>foo@&lt;username&gt;.user.lysator.liu.se</tt> och ändå få mail från tjänsten.
 
 
För att det ska vara någon nytta med det här måste det finnas ett säkert sätt att filtrera ut mail från den här domänen. Det gör det. Det är nämligen så att Postfix (mailservern) skriver en header när ett sådant här brev levereras. Headern heter Delivered-To och sätts till <tt>&lt;username&gt;+user_&lt;localpart&gt;@lysator.liu.se</tt> där &lt;localpart&gt; är vad som stod före '@' i adressen. Det här betyder också att man kan använda särskilda .forward-filer precis som för Plus-syntaxen beskriven ovan. Dvs, om du vill låta brev som skickas till <tt>foo@gazonk.user.lysator.liu.se</tt> hamna i sopkorgen så skapar du en fil som heter <tt>.forward+user_foo</tt> i <tt>/var/mail/gazonk</tt> och låter den innehålla <tt>/dev/null</tt>.
 
 
Pga diverse omskrivningar så behålls inte hela To-raden när du gör såhär, utan när du får brevet har ditt användarnamn kapats bort. Det här är en stor bugg, men ingen har lyckats fixa den, så tig och lid. Eller ge oss rötter tips om hur man kan fixa till det.
 
   
 
==Mailinglistor==
 
==Mailinglistor==

Versionen från 25 november 2022 kl. 22.18

https://webmail.lysator.liu.se/

Hårdvaruinformation om mailservern finns här: mail.

Mailservern använder enbart fri programvara:

  • Postfix som MTA
  • Dovecot som IMAP- och POP-server
  • Mailman för maillinglistor
  • Roundcube för Webmail
  • MariaDB för att lagra diverse användarspecifik information.


Katalogstruktur

Alla filer relaterade till din epost finns på "alla" Lysators maskiner tillgängligt under /var/mail/användarnamn. Där kan följande filer finnas:

Maildir/
Faktisk e-post lagras här. Katalogen är på maildir-struktur, och
används som INBOX. Underkataloger för e-post kommer här
skapas, med en punkt framför.
.forward
Konfiguration av vart e-post ska skickas vidare, alternativt om den ska skickas till procmail.
.procmailrc
Konfiguration av procmail, inkluderinade sortering av e-post.
.procmail/
Övrigt relaterat till procmail.

Som kuriosa är katalogen /var/mail/ inmonterade från mailserverns /home/.


Konvertering

Om du redan hade gått över till Maildir med förra mailservern så har din existerande mailbox flyttats över. Om du inte hade gjort det så har din existerande mailbox konverterats till Maildir i samband med mailserverbytet. Om du har mailboxar i mbox-format liggandes på vanliga /home och vill konvertera till Maildir så att de blir åtkomliga från mailservern och via IMAP och Webmail, så använder du mbox2maildir. Se sidan om mbox2maildir. Exempelvis så ska du för att konvertera en mbox-box du har i ~/Mail/sent-mail köra mbox2maildir ~/Mail/sent-mail /var/mail/<username>/Maildir/.sent-mail

Läsa Epost

Via Webmail

E-post kan både läsas och skickas via webmail, där Lysator kör Roundcube. https://webmail.lysator.liu.se.

Via IMAP eller POP

Se IMAP och POP

Lokalt

Eftersom alla Lysators maskiner monterar in ens e-postkatalog lokalt kan vissa klienter konfigureras till att titta på den direkt.

Mutt

I ~/.muttrc eller ~/.mutt/muttrc lägg till följande:

   set spoolfile = /var/mail/användarnamn/Maildir
   set mbox_type = Maildir
   set folder = /var/mail/användarnamn/Maildir
   set mbox = /var/mail/användarnamn/Maildir


Extra adresser

Om man känner att man behöver extra e-postaddresser (t.ex. för att förenkla sortering av skräppost) tillhandahåller Lysator följande funktioner:

Plus-syntaxen

Alla addresser på formen användarnamn+någonting@lysator.liu.se levereras till den användarnamnet före '+'-teckenet. T.ex. levereras mail till gazonk+lysmail@lysator.liu.se Lysatoranvändaren "gazonk".

Varje address av det här slaget kan ha en egen .forward-fil, då med namnet /var/mail/användarnamn/.forward+extra (där extra är delen efter '+'-tecknet).

user-domänen

Även alla mail till någonting@användarnamn.user.lysator.liu.se kommer levereras till användaren. T.ex. kommer testaddress@gazonk.user.lysator.liu.se komma fram till användaren gazonk.

När det här systemet används kommer följande e-posthuvud bli satt, vilket kan hjälpa med automatisk sortering:

Delivered-to: användarnamn+user_localpart@lysator.liu.se   

Där localpart är det som stod innan '@' i addressen. Även speciella .forward-filen kan användas (likt nämnt ovan), Dock i det här fallet som .forward+user_localpart.


Varning! Den här informationen är troligtvis föråldrad. Om du har tid, kontrollera gärna hur verkligheten ser ut och uppdatera den här sidan.


Pga diverse omskrivningar så behålls inte hela To-raden när du gör såhär, utan när du får brevet har ditt användarnamn kapats bort. Det här är en stor bugg, men ingen har lyckats fixa den, så tig och lid. Eller ge oss rötter tips om hur man kan fixa till det.


Sortering via procmail

Det är tillåtet att via .forward köra procmail för att sortera post till subfolder under /var/mail/<username>/Maildir.

INGA EGNA KOMMANDON, PERL-HACK, EGENINSTALLERAD PROGRAMVARA ELLER LIKNANDE FÅR KÖRAS PÅ MAILSERVERN.

DET ÄR INTE TILLÅTET ATT LÅTA PROCMAIL ELLER MAILDROP EXEKEVERA ANDRA KOMMANDON. ENBART INBYGGD FILTERFUNKTIONALITET FÅR ANVÄNDAS!

Anledningen till ovanstående regler är att det har varit en hel del problem med script som uppfört sig dumt och käkat resurser.

Om man vill köra mer advancerade skript är ett bra sätt att låta mailservern lagra den i maildir och sedan behandla den med cronjobb på någon av Lysators övriga servrar. Det stör inte mailservern över huvud taget.

Här är fullständig path till de program som finns på mailservern, och som det är tillåtet att använda i din .forward:

 /usr/bin/procmail

Sidan procmail innehåller mer information om hur man använder procmail. (Just nu är den sidan inte riktigt uppdaterad, men den är nog användbar ändå. Kom bara ihåg att den här sidan stämmer bättre med verkligheten än den sidan!)

Inloggning på mailservern

Vanliga användare kan inte logga in på mailservern. Det ska normalt inte behövas.

Övrigt om .forward-filer

Med hjälp av en fil som heter .forward i /var/mail/<username> kan du vidarebefordra mail till andra adresser än den på Lysator. Postfixs officiella dokumentation beskriver formatet.

Notera att man kan göra många saker med .forward. Skicka mail till flera adresser exempelvis genom att skriva flera adresser i den (en per rad) och exekvera kommandon. Om man också vill ha lokal leverans tillsammans med en forward så bör man lägga till /home/<username>/Maildir/ i sin .forward. Mer info hittas om man glor på länkarna ovan.

Postfix ser allvarligt på filrättigheter. Eller, för att uttrycka sig så att kidzen förstår: Ey, len, Postfix ger fett me' credz till filrightsen.

.forward-filer får exempelvis inte ha generösare rättigheter än 644 (rw-r--r--). Dvs, om din .forward funkade förut, men inte funkar nu så kan det vara en chmod 644 .forward som behövs.

Av intresse kan också vara att Postfix kör filer som inkluderas från alias (ex.vis mailinglistor) som ägaren och gruppen för denna fil. Om ägaren skulle råka vara root, så körs filen som nobody.

De flesta include-filer innehåller dock bara mail-adresser, så där är det inga problem. Problem kan uppstå först då leverans ska ske till fil, eller till kommando.

Om du använder mailadresser på formen <användarnamn>+<någonting>@lysator.liu.se så är det bra att känna till att det går att skapa egna forwards för dessa. Om du har en /var/mail/<username>/.forward+någonting så är det den som används när mail skickas till <användarnamn>+någonting@lysator.liu.se.

Gamla ~/.forward flyttades ej över i samband med mailserverbytet. Förhoppningsvis tar även du tillfället i akt att se över dina mailinställningar.

Ta bort all sin Mail

Om man vill ta bort all mail man har lagrad på lysators mailserver måste man vara aningen försiktig om man ska kunna fortsätta ta emot mail. Om man har så mycket mail att det inte är praktiskt att ta bort dem genom att använda klienten så är en lämplig metod:

 cd /var/mail/$USER
 mv Maildir Maildir.old && \
 mkdir -p Maildir/{cur,new,tmp} && \
 chmod -R 700 Maildir
 rm -rf Maildir.old

Har man väldigt mycket mail att ta bort är det lämpligt att be root om hjälp med det sista steget, eftersom det då kan göras lokalt på mailserver istället för över NFS.

SPAM och Virus

Lysators mailserver försöker bli av med lite skräp innan det levereras till dig. Filtreringen sker i flera steg.


Andra DNS-kollar

Det finns ett antal andra kollar, exempelvis kan man kolla om domänen för avsändande mailadress går att slå upp i DNS, och om avsändande mailservers IP går att slå upp i DNS. Den första av de här reglerna tenderar att kapa bort en hel del SPAM.


Greylisting

Greylisting är en teknik där man tittar på tripleten (IP på avsändande mailserver, avsändaradress, mottagaradress). Första gången en unik triplet dyker upp så ger man en temporär felkod. En normal mailserver försöker då att leverera mailet igen efter en liten stund (fem minuter eller så), medan den speciella programvara spamavsändare använder helt enkelt struntar i att skicka iväg mailet.

Var gång du får mail från en ny mottagare tar det alltså en liten stund innan mailet kommer fram, men stora mängder spam kommer inte fram över huvud taget.

Lysators mailserver kör per default greylisting, men du kan slå av det för just din adress med hjälp av LysAdm.

Mer information om greylisting finner du på exempelvis http://greylisting.org.

ClamAV

När mailet väl tagit sig in på mailservern körs det genom ClamAV som kör virusscanning för att detektera virus. Klassas mailet som virus slängs det utan att vare sig avsändare eller mottagare får något meddelande. Avsändaren får inget, för virus har ändå oftast falsk avsändare. Mottagare får inget, eftersom ett meddelande om ett virus inte gör någon glad.

Spamassassin

Mailet körs sedan igenom Spamassassin, som med hjälp av regler, DNS-listor, analys på ingående URLer, autolearn mm försöker detektera spam. Påfallande ofta lyckas det, och då märks mailet upp med headern X-Spam-Flag: Yes.

Mailinglistor

Allt om hur du driver mailinglistor på Lysator finns att läsa på en särskild sida om E-postlistor.

Hostnamn

Hostname du skall använda för att skicka och ta emot post finns beskrivna i ett särskilt dokument om IMAP och POP. Om du gör forward från Lysator och har en paranoid brandvägg kan det vara bra att veta att alla utgående uppkopplingar från Lysators mailserver kommer från adressen mail.lysator.liu.se 130.236.254.3.

Authsmtp

Det går att köra autenticerad SMTP mot Lysators mailserver. Mer om detta i manulen om AUTHSMTP.

En sammanfattning

Vad du alltså behöver göra efter flytten är att:

  • Se över eventuell .forward, och anpassa eventuella sökvägar så att de stämmer med sökvägarna på bernadotte.
  • Se över eventuella procmailhack, och se till att de överensstämmer med reglerna för mailsortering på bernadotte.
  • Flytta .forward till rätt ställe. Det sker från övriga datorer på Lysator genom att flytta filen till /var/mail/<username>
  • Se till att rättigheterna på /var/mail/<username>/.forward är max 644 (chmod 644 /var/mail/<username>/.forward)
  • Eventuellt ersätta .forward-hack med en forward till <username>@mailexec.lysator.liu.se