Denna Hur täcker processen med att konfigurera e-posthantering efter att registrera en domän. Sendmail är Unix / Linux-program som gör e-posthantering. Det är inte en Mail User Agent (MUA) som de e-postprogram du skulle känna igen. Det är bara en leverans program. Sendmail är en Mail Transfer Agent (MTA). Den hanterar bara leveransen. Nätoperatörer använder Sendmail för att leverera e-post till lokala användare eller andra nätverk.
Steg
Ladda sendmail
- 1Ladda sendmail. Du kan automatiskt erbjudas en kort inledande meddelande som indikerar den aktuella versionen. Dessa instruktioner nedan förutsätter version 8.10.0 eller senare.
- 2Bygga och installera sendmail för din maskin. I de flesta fall består denna av uppackning distributionen, läsa README och sendmail / README-filer och skriva Bygg i Sendmail katalogen. Se filen INSTALL i distributionen s toppnivå katalog för detaljer.
Konfigurera sendmail
- 1Förstå att sendmail använder information från domännamnssystemet (DNS) för att räkna ut vilka IP-adresser som går med vilka brevlådor.
- 2Välj ett tillgängligt domännamn. I vårt exempel kommer vi att använda yourdomain.com.
- 3Konfigurera DNS på servern. Etablera två maskiner som primära och sekundära namnservrarna för din domän. Kunskap om hur man gör detta antas, annars läs O'Reilly boken "DNS och BIND", är 4: e upplagan rekommenderas starkt. Bekanta dig med BIND innan du fortsätter.
- 4Konfigurera MX-poster för din domän (notera: CNAME-poster kan inte användas, se § 5.2.2 för detaljer.) MX-poster förklaras i O'Reilly Sendmail boken, den 2: a upplagan ger en översikt i § 15.3 och beskriver hur att konfigurera dem i § 21.3, medan den tredje upplagan förklarar allt om dem i § 9.3. Du har två alternativ för MX-poster:
- 5Bestäm din anslutningsmetod:
- Om e-postservern som kommer att tjäna din nya domän har en fast anslutning till Internet, bör det vara den primära MX värd för din domän. I denna konfiguration, skulle dina MX-poster se ut så här:
- yourdomain.com. IN MX 10 yourmailserver.yourdomain.com.
- Annars måste du hitta en annan maskin till kö-post för din domän när du inte är ansluten. Var noga med att få maskinen ägarnas godkännande först. Den maskinen måste konfigureras för att tillåta vidarebefordring till din domän. Om det körs Sendmail, kan detta vara så enkelt som att lägga din domän till relä-domäner fil på den maskinen. Du skulle då peka MX-posterna på den maskinen. Till exempel:
- yourdomain.com. IN MX 10 yourmailserver.yourdomain.com.
- yourdomain.com. IN MX 20 othermailserver.otherdomain.com.
- Om e-postservern som kommer att tjäna din nya domän har en fast anslutning till Internet, bör det vara den primära MX värd för din domän. I denna konfiguration, skulle dina MX-poster se ut så här:
- 6Nu namnservrar är inställda, registrera din domän genom att använda någon av registren. När du registrerar dig, informera kansliet om två namnservrar, och sedan den domänen kommer att peka på din server.
Konfigurera sendmail
- 1Läs CF / readme filen ordentligt. Det kommer att ge dig instruktioner om hur du skapar en. Mc-fil i cf / cf. Din mailserver.mc filen kommer vanligtvis ut ungefär så här:
- Vidarekoppla (-1) DNL
- #
- # Den här filen innehåller de globala definitioner för yourdomain.com
- #
- avleda (0) DNL
- VERSIONID (`@ (#) mailserver.mc 1,0 (yourdomain.com) 5/1/97 ')
- OSTYPE (solaris2) DNL
- DOMAIN (yourdomain.com) DNL
- FUNKTION (`virtusertable ',` dBm / etc / mail / virtusertable') DNL
- MAILER (lokalt) DNL
- MAILER (smtp) DNL
- Din faktiska OS kommer att ersätta solaris2.
- 2. En typisk CF / domän / dindomän com.m4 fil som ser ut ungefär så här:
- Vidarekoppla (-1) DNL
- #
- # Den här filen innehåller de globala definitioner för yourdomain.com
- #
- avleda (0) DNL
- VERSIONID (`@ (#) yourdomain.com.m4 1,0 (yourdomain.com) 5/1/97 ')
- FUNKTION (`use_cw_file ') DNL
- 3Det kan ha någon annan funktion () 's och definiera ()' s också. Den virtuella användare Tabellen är nyckeln till allt detta.
- 4Skapa din / etc / mail / sendmail cf-fil från din mailserver.mc fil, så typ.:
- cd sendmail-VERSION/cf/cf
- / Bygg mailserver.cf
- cp mailserver.cf / etc / mail / sendmail.cf
- 5Skapa den virtuella användartabell. Detta förklaras i detalj i Sendmail bok: § 19.6.28 i den 2: a upplagan, eller § 4.8.51 i den 3: e upplagan, ges en översikt här. Tabellen är en databas som mappar virtuella adresser till reella adresser. Du skapar en textfil där varje rad har en nyckel / värde-par, åtskilda av ett TAB. Till exempel:
- Exempel 1:
- joe@yourdomain.com jschmoe
- jane@yourdomain.com jdoe@othercompany.com
- @ Yourdomain.com jschmoe
- I detta första exempel kommer adressen joe@yourdomain.com mappas till den lokala användaren jschmoe; jane@yourdomain.com kommer att mappas till fjärranvändaren jdoe@othercompany.com, och allt annat som kommer in till yourdomain.com kommer också gå till jschmoe.
- I detta första exempel kommer adressen joe@yourdomain.com mappas till den lokala användaren jschmoe; jane@yourdomain.com kommer att mappas till fjärranvändaren jdoe@othercompany.com, och allt annat som kommer in till yourdomain.com kommer också gå till jschmoe.
- Exempel 2:
- joe@yourdomain.com jschmoe% 3
- bogus@yourdomain.com &npsp; error: nouser Ingen sådan användare här
- list@yourdomain.com dindomän-lista
- @ Yourdomain.com% 1@othercompany.com
- I detta andra exempel, kommer adressen joe@yourdomain.com mappas till den lokala användaren jschmoe% 3 (se not 3 nedan för en förklaring av vad% 3 betyder), kommer adressen bogus@yourdomain.com returnera den indikerade fel kommer adressen list@yourdomain.com mappas till den lokala användaren dindomän-lista (som du skulle använda alias-filen för att slutligen lösa) och varannan användare på yourdomain.com kommer att mappas till en fjärranvändare med samma namn på othercompany.com.
- Exempel 1:
- 6Om du har en lokal användare, säger Sam, och det finns ingen nyckel för sam @ dindomän. Com och ingen catch-all viktig for@yourdomain.com, då Sendmail kommer att falla tillbaka till den lokala användaren sam vid lösning sam@yourdomain.com. För att förhindra detta måste du använda antingen en catch-all nyckel eller en explicit nyckel för sam@yourdomain.com, felet: nouser exemplet ovan kan vara användbar i detta fall.
- 7Om du vill ha en virtuell adress för att lösa mer än en riktig adress, måste du göra det indirekt. Har den virtuella adressen besluta om ett lokalt alias, sedan har de lokala alias lösa den önskade mängden adresser. Till exempel i den virtuella användartabell:
- joe@yourdomain.com localjoe
- sedan i alias filen:
- localjoe: joe@othercompany.com, jane@othercompany.com
- I exemplet ovan:
- joe@yourdomain.com jschmoe% 3
- joe@yourdomain.com jschmoe% 3
- joe@yourdomain.com localjoe
- 8Den% 3 är bevarandet av den valfria + detalj en del av den ursprungliga adressen. I allmänhet innebär + detalj som när Sendmail får en adress som användaren + detalj @ domän, sedan om domänen är i klass w (se steg 7 nedan), kontrollerar sendmail för att se om användaren + detalj kan lösas, sedan faller tillbaka till just vanlig användare om inte. Således alla av:
- joe@yourdomain.com
- joe + foo@yourdomain.com
- joe + reallylongextrapart@yourdomain.com
- skulle alla matcha ovanstående posten, med% 3 bevara del + detalj av ingenting, + foo och + reallylongextrapart resp.
- Flera domäner är tillåtna, och virtuella adresser i varje domän är oberoende. Så till exempel kan du ha:
- joe@yourdomain1.com localjoe
- joe@yourdomain2.com joe@othercompany.com
- joe@yourdomain3.com localjoe
- joe@yourdomain4.com error: nouser Ingen sådan användare här
- 9För personer som administrerar flera domäner, kan det vara lättare att hålla varje domän lista i en separat fil och sedan skriva ett kort manus för att sammanfoga alla dessa filer ihop till en master virtuell användare bord. Men vi får framför oss själva, det är nästa steg...
Bygg Table Sendmail Användare
- 1Bygg den virtuella användaren tabellen. Om ovanstående virtuella användartabell textfilen ligger på källfilen, och du använder typen dbm databasen, sedan använda kommandot:
- makemap dBm / etc / mail / virtusertable <källfilen
- Obs: om du byggt Sendmail med NEWDB istället för NDBM, sedan använda hash istället för dbm i ovanstående rad.
- Detta skapar en eller flera icke-textfiler (vanligen / etc / mail / virtusertable.dir och / etc / mail / virtusertable.pag, eller / etc / mail / virtusertable.db), men inte faktiskt ändra / etc / mail / virtusertable själv, så det här är den rekommenderade platsen för källfilen.
- Om du vill vända-kartlägga lokala användare för extern e-post, måste du lägga till stöd för generika tabellen till din mc-fil.:
- FUNKTION (`genericstable ',` dBm / etc / mail / genericstable') DNL
- GENERICS_DOMAIN_FILE (`/ etc / mail / generika-domäner") DNL
- Och du kommer att behöva för att skapa / etc / mail / genericstable som är som / etc / mail / virtusertable ovan förutom kolumnerna är omvända:
- jschmoe joe@yourdomain.com
Lägg dina domännamn till Sendmail
- 1Lägg varje nytt domännamn till sendmail s klass W. Detta görs vanligtvis genom att lägga till en rad i / etc / mail / local-host-namn (känd som / etc / sendmail.cw före version 8.10) med värdet av varje domännamn. Likaså om du använder genericstable, bör du lägga alla domäner du vill vända-mappa till / etc / mail / generika-domäner.
- 2Starta eller SIGHUP sendmail.
- 3Du behöver inte starta om sendmail vid byte av virtuella användare eller generika tabeller, endast vid byte / etc / mail / sendmail. Cf eller filer klass såsom / etc / mail / local-host-namn.
- Ett extra steg krävs för datorer som inte är anslutna heltid. Som påpekas i MX-konfiguration avsnittet, om du använder en annan värd att köa din post tills du ansluter, kommer du behöva tvinga leverans av post i kö på den sekundära e-postservern. För att åstadkomma detta, när din primära servern ansluter, bör du köra skriptet etrn.pl som kommer i contrib katalogen av sendmail distributionen:
- etrn.pl sekundär MX-host yourdomain.com
- Det kan vara lämpligt att sätta detta i slutet av Sendmail start-up skriptet på någon primär MX. Det skulle vara särskilt användbar som en uppföljning till vad skript initierar anslutningen på primär MX s utan heltidsanställda anslutningar.
- Vid det här laget bör du vara inställd, och folk ska kunna skicka e-post till addresses@yourdomain.com.
- Ett extra steg krävs för datorer som inte är anslutna heltid. Som påpekas i MX-konfiguration avsnittet, om du använder en annan värd att köa din post tills du ansluter, kommer du behöva tvinga leverans av post i kö på den sekundära e-postservern. För att åstadkomma detta, när din primära servern ansluter, bör du köra skriptet etrn.pl som kommer i contrib katalogen av sendmail distributionen:
Testa din konfigurationsfil
- 1Testa din konfiguration och kontrollera att allt fungerar som förväntat innan tillkännage nya domännamn och e-postadresser till den domänen. Om saker inte fungerar som väntat, kan du testa med Sendmail 's testläge:
- sendmail-bt
- Här är några exempel på saker att prova i testläge (se till att domänen är i klass w:):
- $ = W
- # Är det kartan som arbetar?
- / Map virtuser joe@yourdomain.com
- / Map virtuser jane@yourdomain.com
- / Map virtuser@yourdomain.com
- är den omskrivning fungerar? # **, 0 joe@yourdomain.com # **, 0 some@yourdomain.com
Tips
- Vad Sendmail gör:
- Lyssna på nätverksportar för post.
- Sortera post och leverera lokalt eller externt till andra servrar.
- Bifoga mail till filer eller rör det genom andra program.
- Kö mail (om omedelbar leverans misslyckas).
- Konvertera e-postadresser till / från användarnamn eller hantera e-postlistor.
- Läser regler för speciella posthantering, så det kan försöka fånga spam, eller kontrollera riktigheten.
- Om du byggt Sendmail med NEWDB istället för NDBM, måste du använda hash istället för dbm i ovanstående rad.