Deze How To behandelt het proces van het configureren van e-mail afhandeling na het registreren van een domeinnaam. Sendmail is de Unix / Linux-software die e-mail afhandeling doet. Het is niet een Mail User Agent (MUA), zoals de e-mail programma's die je zou herkennen. Het is gewoon een leveringsprogramma. Sendmail is een Mail Transfer Agent (MTA). Het behandelt enkel de levering. Netwerk providers gebruiken Sendmail om post te bezorgen aan lokale gebruikers of andere netwerken.
Stappen
Download sendmail
- 1Download sendmail. U kunt automatisch een korte initiële bericht dat de huidige release zal aangeven worden aangeboden. Deze onderstaande instructies veronderstellen versie 8.10.0 of hoger.
- 2Bouwen en installeren van sendmail voor uw machine. In de meeste gevallen, deze bestaat uit het uitpakken van de distributie, het lezen van de README en sendmail / README-bestanden, en het typen te bouwen in de Sendmail-map. Zie het INSTALL bestand in de distributie van de top-level directory voor meer informatie.
Opgezet sendmail
- 1Begrijp dat sendmail gebruik informatie van het Domain Name System (DNS) te achterhalen welke IP-adressen gaan met die brievenbussen.
- 2Kies een beschikbare domeinnaam. In ons voorbeeld zullen we gebruik maken van yourdomain.com.
- 3Configureren van DNS op de server. Stellen twee machines als primaire en secundaire naamservers voor uw domein. Kennis van hoe dit te doen wordt aangenomen, anders, lees de O'Reilly boek "DNS en BIND", wordt 4e editie sterk aanbevolen. Vertrouwd te maken met BIND voordat u verder gaat.
- 4MX-records voor uw domein te configureren (note: CNAME records kunnen niet worden gebruikt; zie § 5.2.2 voor meer informatie.) MX-records worden in de O'Reilly Sendmail boek uitgelegd, de 2e editie geeft een overzicht in § 15.3 en beschrijft hoe om ze te configureren in § 21.3, terwijl de derde editie legt alles over hen in § 9.3. Je hebt twee opties voor MX-records:
- 5Bepaal uw verbindingsmethode:
- Als de mailserver die zal dienen uw nieuwe domein heeft een full-time verbinding met het internet, moet het de primaire MX-host voor uw domein. In deze configuratie zou uw MX-records er als volgt uitzien:
- yourdomain.com. IN MX 10 yourmailserver.yourdomain.com.
- Anders zal u een andere machine te vinden voor wachtrij mail voor uw domein als u niet verbonden bent. Zorg ervoor dat u toestemming van de eigenaars van machines 'eerst. Die machine moet worden geconfigureerd voor het doorgeven laten uw domein. Als het draait Sendmail, kan dit zo simpel zijn als het toevoegen van uw domein aan het bestand relay-domains op die machine. Je zou dan richt je MX-records op die machine. Bijvoorbeeld:
- yourdomain.com. IN MX 10 yourmailserver.yourdomain.com.
- yourdomain.com. IN MX 20 othermailserver.otherdomain.com.
- Als de mailserver die zal dienen uw nieuwe domein heeft een full-time verbinding met het internet, moet het de primaire MX-host voor uw domein. In deze configuratie zou uw MX-records er als volgt uitzien:
- 6Nu de nameservers zijn setup, registreer uw domein via een van de registers. Als u zich registreert, stelt de griffie van de twee name servers, en dan het domein zal verwijzen naar uw server.
Sendmail
- 1Lees de cf / readme-bestand grondig. Het zal u instructies over het maken van een. Mc-bestand in de directory cf / cf geven. Uw mailserver.mc bestand zal doorgaans ongeveer zo uitzien:
- omleiden (-1) dnl
- #
- # Dit bestand bevat de algemene definities voor yourdomain.com
- #
- omleiden (0) dnl
- VERSIONID (`@ (#) mailserver.mc 1.0 (yourdomain.com) 5/1/97")
- OSTYPE (solaris2) dnl
- DOMEIN (yourdomain.com) dnl
- FUNCTIE (`virtusertable ',` dbm / etc / mail / virtusertable') dnl
- MAILER (lokale) dnl
- MAILER (smtp) dnl
- Uw werkelijke OS zullen worden vervangen solaris2.
- 2. Een typische cf / domain / uwdomein com.m4 bestand dat zoiets eruit ziet:
- omleiden (-1) dnl
- #
- # Dit bestand bevat de algemene definities voor yourdomain.com
- #
- omleiden (0) dnl
- VERSIONID (`@ (#) yourdomain.com.m4 1.0 (yourdomain.com) 5/1/97")
- FUNCTIE (`use_cw_file ') dnl
- 3Het kan een andere functie () hebben 's en define ()' s ook. De virtuele gebruiker tabel is de sleutel tot dit alles.
- 4Genereer uw / etc / mail / sendmail cf bestand van uw mailserver.mc bestand, dus type.:
- cd sendmail-VERSION/cf/cf
- / Build mailserver.cf
- cp mailserver.cf / etc / mail / sendmail.cf
- 5Maak de virtuele gebruiker tafel. Dit wordt in detail uitgelegd in de Sendmail boek: § 19.6.28 van de 2e editie, of § 4.8.51 van de 3e editie, een overzicht wordt hier gegeven. De tabel is een database die kaarten virtuele adressen in echte adressen. U maakt een tekstbestand waarin de lijn heeft een sleutel / waarde paar, gescheiden door een TAB. Bijvoorbeeld:
- Voorbeeld 1:
- joe@yourdomain.com jschmoe
- jane@yourdomain.com jdoe@othercompany.com
- @ Yourdomain.com jschmoe
- In dit eerste voorbeeld, het adres joe@yourdomain.com worden toegewezen aan de lokale gebruiker jschmoe; jane@yourdomain.com zal worden toegewezen aan de gebruiker op afstand jdoe@othercompany.com, en iets anders komen te yourdomain.com zal ook ga naar jschmoe.
- In dit eerste voorbeeld, het adres joe@yourdomain.com worden toegewezen aan de lokale gebruiker jschmoe; jane@yourdomain.com zal worden toegewezen aan de gebruiker op afstand jdoe@othercompany.com, en iets anders komen te yourdomain.com zal ook ga naar jschmoe.
- Voorbeeld 2:
- joe@yourdomain.com jschmoe% 3
- bogus@yourdomain.com &npsp; error: nouser No such user here
- list@yourdomain.com uwdomein-lijst
- @ Yourdomain.com% 1@othercompany.com
- In dit tweede voorbeeld wordt het adres joe@yourdomain.com worden toegewezen aan de lokale gebruiker jschmoe% 3 (zie noot 3 hieronder voor een uitleg van wat de% 3 betekent), het adres bogus@yourdomain.com de aangegeven fout terug, het adres list@yourdomain.com zal worden toegewezen aan de lokale gebruiker uwdomein-lijst (waarop u het bestand aliases zou gebruiken om uiteindelijk op te lossen) en iedere andere gebruiker op yourdomain.com zal worden toegewezen aan een externe gebruiker met dezelfde naam op othercompany.com.
- Voorbeeld 1:
- 6Als u een lokale gebruiker, zegt sam, en er is geen sleutel voor sam @ uwdomein. Com en geen catch-all key for@yourdomain.com, dan Sendmail zal terugvallen naar de lokale gebruiker sam bij het herleiden sam@yourdomain.com. Om dit te voorkomen, moet u ofwel een catch-all toets of een expliciete sleutel voor sam@yourdomain.com, de fout: nouser voorbeeld hierboven kan nuttig zijn in dit geval.
- 7Als u een virtueel adres te besluiten tot meer dan een echte adres wilt, moet je het indirect doen. Hebben het virtuele adres om naar een lokale alias, dan hebben de lokale alias op te lossen om de gewenste set van adressen. Bijvoorbeeld, in de virtuele gebruiker tabel:
- joe@yourdomain.com localjoe
- vervolgens in het aliases bestand:
- localjoe: joe@othercompany.com, jane@othercompany.com
- In het bovenstaande voorbeeld:
- joe@yourdomain.com jschmoe% 3
- joe@yourdomain.com jschmoe% 3
- joe@yourdomain.com localjoe
- 8De 3% is het behoud van de optionele + detail deel van het oorspronkelijke adres. In het algemeen, + detail betekent dat wanneer Sendmail krijgt een adres als gebruiker + detail @ domein, dan als domeinnaam is in de klas w (zie stap 7 hieronder), sendmail controleert om te zien of de gebruiker + detail kan worden opgelost, valt dan terug tot slechts vlakte gebruiker zo niet. Dus al:
- joe@yourdomain.com
- joe + foo@yourdomain.com
- joe + reallylongextrapart@yourdomain.com
- zouden allemaal overeenkomen met het bovenstaande binnenkomst, met 3% het behoud van de + detail deel van niets, respectievelijk + foo en + reallylongextrapart.
- Meerdere domeinen zijn toegestaan, en virtuele adressen in elk domein zijn onafhankelijk. Dus bijvoorbeeld, zou je hebt:
- joe@yourdomain1.com localjoe
- joe@yourdomain2.com joe@othercompany.com
- joe@yourdomain3.com localjoe
- joe@yourdomain4.com error: nouser No such user here
- 9Voor mensen die het toedienen van meerdere domeinen, kan het eenvoudiger zijn om de lijst elk domein te houden in een apart bestand, schrijf dan een korte script om al deze bestanden samen aaneen te schakelen naar een master virtuele gebruiker tafel. Maar we krijgen de zaken vooruit lopen, dat is de volgende stap...
Bouw de Sendmail Gebruikerstabel
- 1Bouwen de virtuele gebruiker tafel. Als de bovenstaande virtuele gebruiker tabel tekstbestand bevindt zich in bronbestand, en u gebruikt de dbm database type, gebruik dan het commando:
- makemap dbm / etc / mail / virtusertable <bronbestand
- Opmerking: als u gebouwd Sendmail met NEWDB plaats van NDBM, gebruik dan hash in plaats van dbm in de bovenstaande regel.
- Dit creëert een of meer niet-tekstbestanden (doorgaans / etc / mail / virtusertable.dir en / etc / mail / virtusertable.pag, of / etc / mail / virtusertable.db), maar niet daadwerkelijk veranderen / etc / mail / virtusertable zelf, dus dit is de aanbevolen locatie voor het bronbestand.
- Als je zou willen om te keren-kaart lokale gebruikers voor uitgaande mail, moet u ondersteuning voor de tafel generics toe te voegen aan uw mc-bestand.:
- FUNCTIE (`genericstable ',` dbm / etc / mail / genericstable') dnl
- GENERICS_DOMAIN_FILE (`/ etc / mail / generics-domains ') dnl
- En je moet / etc / mail / genericstable die is als / etc / mail / virtusertable hierboven, behalve de kolommen omgedraaid maken:
- jschmoe joe@yourdomain.com
Voeg uw domeinnamen naar Sendmail
- 1Voeg elke nieuwe domeinnaam aan sendmail 's klasse w. Dit wordt meestal gedaan door het toevoegen van een regel aan / etc / mail / local-host-namen (bekend als / etc / sendmail.cw voorafgaand aan versie 8.10) met de waarde van elke domeinnaam. Evenzo, als u gebruik maakt van de genericstable, je moet alle domeinen die u wenst om te keren-kaart naar / etc / mail / generics-domeinen toevoegen.
- 2Herstarten of SIGHUP sendmail.
- 3U hoeft niet te sendmail herstart bij het veranderen van de virtuele gebruiker of generieke tabellen, alleen bij het vervangen / etc / mail / sendmail. Cf of klasse bestanden, zoals / etc / mail / local-host-namen.
- Een extra stap is vereist voor hosts niet full-time verbonden. Zoals opgemerkt in de configuratie sectie MX, als je een andere host aan wachtrij uw mail te gebruiken totdat u verbinding maakt, moet u bezorgen van post in de wachtrij op de secundaire mailserver dwingen. Om dit te bereiken, wanneer uw primaire server verbindt, moet u het script etrn.pl die komt in de contrib directory van de sendmail distributie uit te voeren:
- etrn.pl secundaire-mx-gastheer yourdomain.com
- Het kan raadzaam zijn om dit aan het eind van de Sendmail start-up script op elke primaire MX. Het zou vooral nuttig zijn als een follow-up van een script kunnen de aansluiting op de primaire MX s zonder full-time verbindingen initieert.
- Op dit punt, moet u worden ingesteld, en mensen moeten in staat zijn om e-mail te sturen naar addresses@yourdomain.com.
- Een extra stap is vereist voor hosts niet full-time verbonden. Zoals opgemerkt in de configuratie sectie MX, als je een andere host aan wachtrij uw mail te gebruiken totdat u verbinding maakt, moet u bezorgen van post in de wachtrij op de secundaire mailserver dwingen. Om dit te bereiken, wanneer uw primaire server verbindt, moet u het script etrn.pl die komt in de contrib directory van de sendmail distributie uit te voeren:
Test uw configuratiebestand
- 1Test je configuratie en zorg ervoor dat alles werkt zoals verwacht voor de aankondiging van de nieuwe domeinnaam en mailadressen van dat domein. Als de dingen niet werken zoals verwacht, kunt u testen met Sendmail 's testmodus:
- sendmail-bt
- Hier zijn enkele voorbeelden van dingen om te proberen in de testmodus (zorg ervoor dat het domein is in de klas w:):
- $ = W
- # Is de kaart werken?
- / Map virtuser joe@yourdomain.com
- / Map virtuser jane@yourdomain.com
- / Map virtuser@yourdomain.com
- is het herschrijven werken? # **, 0 joe@yourdomain.com # **, 0 some@yourdomain.com
Tips
- Wat Sendmail doet:
- Luisteren op netwerkpoorten voor mail.
- Sorteer mail en leveren het lokaal of extern naar andere servers.
- Voegt mail naar bestanden of pijp het door andere programma's.
- Wachtrij mail (indien onmiddellijke levering mislukt).
- E-mailadressen om te zetten naar / van gebruikersnamen, of mailinglists.
- Leest regels voor speciale postverwerking, dus het kan proberen om spam te vangen, of controleren op juistheid.
- Als je gebouwd Sendmail met NEWDB plaats van NDBM, moet u hash in plaats van dbm gebruiken in de bovenstaande regel.