Sendmail debian installeren. Sendmail instellen. De functie mail() controleren

Installatie- en configuratiegids voor een van de oudste MTA (Agent voor postoverdracht), programma voor het verzenden van e-mail - stuur een e-mail, die beschikbaar is voor installatie op elk besturingssysteem. In veel besturingssystemen wordt sendmail standaard geïnstalleerd en er is geen speciale noodzaak om deze standaard MTA naar een andere te wijzigen. Tegelijkertijd is dezelfde PHP standaard geconfigureerd om met deze MTA te werken. Als het instellen van sendmail lang duurt, installeer dan postfix (), je zou niet veel tijd moeten verspillen.

Voorbereiding

Controleer of u sendmail hebt geïnstalleerd en niet Exim4 of een andere MTA:

Ls -la `welke sendmail` # lrwxrwxrwx 1 root root 26 2011-01-17 19:58 /usr/sbin/sendmail -> /etc/alternatives/sendmail

Installatie

sudo apt-get install sendmail sasl2-bin

/etc/hosts configureren

127.0.0.1 localhost localhost.lokaaldomein e5530
Opmerking

U moet uw hoofdhost (computernaam, de mijne is e5530) en localhost.localdomain opgeven, anders krijgt u een foutmelding: Mijn ongekwalificeerde hostnaam (mijnhostnaam) onbekend; slapen voor nieuwe poging" en "kan mijn eigen domeinnaam (e5530) niet kwalificeren - met behulp van een korte naam, stuur een e-mail Het duurt lang om op te starten en de e-mail wordt langzaam verzonden. Mogelijk gastheer localhost.lokaaldomein Kan gemist worden, niet zeker.

Hierna moet u de namen opgeven van de lokale hosts waarvan stuur een e-mail accepteert verzoeken om e-mailberichten te verzenden, in het bestand /etc/mail/local-host-names:

AuthInfo:smtp.gmail.com "U: [e-mailadres beveiligd]" "I: [e-mailadres beveiligd]" "P:YourPass" "M:PLAIN" AuthInfo:smtp.gmail.com:465 "U: [e-mailadres beveiligd]" "I: [e-mailadres beveiligd]" "P:YourPass" "M:PLAIN"

Opmerking

In plaats van poort 465 kunt u 587 proberen (als u problemen heeft met autorisatie):

AuthInfo:smtp.gmail.com:587 "U: [e-mailadres beveiligd]" "I: [e-mailadres beveiligd]" "P:YourPass" "M:PLAIN"

Chmod 600 /etc/mail/auth/*

Configureer sendmail.mc

Configuratiebestand /etc/mail/sendmail.mc. Vergelijk uw configuratie. Het zou ongeveer zo moeten zijn... De volgorde van de instructies is belangrijk!

Dnl # include(`/etc/mail/m4/dialup.m4")dnl include(`/etc/mail/m4/provider.m4")dnl include(`/etc/mail/tls/starttls.m4")dnl include(`/etc/mail/sasl/sasl.m4")dnl FEATURE(`authinfo",`hash /etc/mail/auth/client-info")dnl definiëren(`SMART_HOST",`smtp.gmail.com" )dnl definiëren(`RELAY_MAILER_ARGS", `TCP $h 587")dnl definiëren(`ESMTP_MAILER_ARGS", `TCP $h 587")dnl dnl # dnl # Standaard Mailer-instellingen MAILER_DEFINITIONS MAILER(`local")dnl MAILER(`smtp" )dnl definiëren(`confAUTH_MECHANISMS", `EXTERNE GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN")dnl # dnl definiëren(`confDOMAIN_NAME", `e5530")dnl

Het toepassen van de sendmail-configuratie

cd /etc/mail sudo su # alleen sudo werkt niet! m4 sendmail.mc > sendmail.cf makemap -r hash authinfo.db< auth/client-info make /etc/init.d/sendmail restart # Перезагрузка конфига

Problemen en oplossingen

Als alles correct is geconfigureerd, maar berichten in een “uitgestelde wachtrij” terechtkomen en niet worden doorgestuurd naar een andere SMTP:

  1. Controleer uw IP in de zwarte lijsten. U kunt het IP-verbod hier controleren smart-ip.net, mijn IP is opgenomen in de spamhaus-database.
  2. Controleer of uw provider uitgaande pakketten op poort 25 blokkeert.
Problemen met Intertelecom!

Het is mij nooit gelukt een berichtendoorzending naar Gmail via sendmail op de Intertelecom-verbinding in te stellen - sendmail klopte koppig op poort 25, die door de provider was gesloten. Ik moest postfix configureren.

PHP-installatie (indien nodig)

Specificeer de startparameters van sendmail in de configuratie /etc/php5/apache2/php.ini (/etc/php5/cli/php.ini):

## Sendmail configureren voor PHP: sendmail_path = /usr/sbin/sendmail -t ;sendmail_path = "/usr/sbin/sendmail -t -f [e-mailadres beveiligd]-i"

Laten we de instellingen controleren

echo "Berichttekst" | mail -s "Onderwerp" [e-mailadres beveiligd] verzendmail -t [e-mailadres beveiligd]-F [e-mailadres beveiligd]-v -ik< ~/mail-body.txt

Om postfix te testen, probeert u verschillende berichten vanaf de console te verzenden. Hoe je dit doet, heb ik in dit artikel beschreven: "".

Beheer van verzonden e-mail

Bekijk de volledige berichtenwachtrij:

Sudo mailq

Bekijk de berichtenwachtrij op een specifiek adres:

Sudo mailq | grep " [e-mailadres beveiligd]" | wc -l

Wis de gehele sendmail-berichtenwachtrij:

Sudo rm -r /var/spool/mqueue-client/*

Wis de sendmail-berichtenwachtrij op bestemming:

Cd /var/spool/mqueue ls | xargs -ti sh -c "grep" [e-mailadres beveiligd]" "()" > /dev/null && rm -f "()""

#sendmail, #LAMP, #MTA

P.S. Als je de Linux-console op een redelijk goed niveau wilt leren, raad ik je aan het nieuwste boek van Denis Kolisnichenko te lezen “ Linux-opdrachtregel en automatisering van routinetaken».

Het verscheen in 1983, maar wordt tot op de dag van vandaag nog steeds actief gebruikt. Een van de belangrijkste kenmerken is dat het wordt ondersteund door veel platforms die tegenwoordig bestaan ​​en ook gratis is. De applicatie wordt geleverd met open source software. Dit betekent dat iedereen er zijn eigen functionaliteit aan kan toevoegen of naar eigen inzicht kan wijzigen. In het Ubuntu-besturingssysteem heeft Sendmail, dat is geconfigureerd met behulp van de Linux-opdrachtregel, wortel geschoten dankzij goede ondersteuning en rijke mogelijkheden.

De berichtenverwerker – Sendmail – is wijdverbreid geworden in de zakelijke sfeer.

Tegenwoordig is de "berichtenverwerker" Sendmail Sentrion, die is gemaakt rekening houdend met de behoeften van grote bedrijven, vrij gebruikelijk. De onderscheidende kenmerken zijn hoge prestaties en goede integratie met alle bedrijfsprocessen. Sentrion biedt, naast nieuwe technologieën, het gebruik van legacy-applicaties die goed wortel hebben geschoten. De app is ook vriendelijk genoeg voor thuisgebruikers.

Het programma installeren

U moet Sandmail op een lokale server of webserver installeren. In het tweede geval zal de mailagent functioneler zijn. Om alle componenten van een webserver te krijgen, hebt u een LAMP-componentenstapel nodig. Het is te vinden in de repository.

BELANGRIJK. Voordat u nieuwe software installeert, moet u de pakketlijsten in uw lokale repository bijwerken met behulp van de opdracht

"$ sudo apt-get-update"

De Sandmail-installatie begint met het commando “sudo apt install sendmail”, waarmee de mailagentpakketten worden gedownload.

"mcedit /etc/hosts"
"sudo sendmailconfig"

Hierna moet u de services van het programma zelf opnieuw opstarten, evenals de Apache-webserver:

"sudo /etc/init.d/sendmail opnieuw opstarten"
"sudo /etc/init.d/apache2 opnieuw opstarten"

Indien nodig kunt u hulpprogramma's installeren voor het werken met e-mail:

"sudo install mailutils"

We controleren de functionaliteit van het hele systeem:

"mail uw_mail< /dev/null»

waarbij “uw_mail” het huidige postadres is.

En tot slot, laten we het logbestand controleren. Dit is het e-mailservicebestand waarin installatiefouten worden weergegeven:

"staart -f /var/log/mail.log"

Het enige dat overblijft is om naar uw e-mailinbox te gaan. Het zou al een testbericht moeten bevatten.

Je hebt dus meer geleerd over een programma voor Ubuntu genaamd Sendmail, dat niet zo moeilijk bleek te zijn om in te stellen. Als je vragen hebt over andere aspecten van het werken met programma's voor Linux, zoek dan naar antwoorden daarop op de pagina's van onze website!

Het boek bespreekt in detail de instellingen van netwerkdiensten waarmee je een server kunt creëren met de vereiste configuratie en functionaliteit op basis van het Linux-besturingssysteem. U kunt elk type server configureren: van een lokale netwerkserver tot een internetserver en een server voor externe toegang. Linux-beheer wordt in detail beschreven.

De presentatie van het materiaal is gebaseerd op de Red Hat- en Mandrake-distributies. Veel unieke informatie: Windows-games draaien onder Linux en een Linux-server maken voor een speelkamer, Dr.-antivirussen instellen. Web en AVP voor Linux, verkeersboekhoudingsprogramma MRTG, beveiligings- en aanvalsdetectiesysteem LIDS en nog veel meer. Bijzondere aandacht wordt besteed aan de beveiliging van Linux-servers. Het Linux-besturingssysteem zelf wordt voldoende gedetailleerd beschreven en er wordt een naslagwerk met de opdrachten meegeleverd. Na het lezen van het boek zul je kennis opdoen over het configureren en compileren van de kernel, het maken van je eigen rpm-pakketten, de bash-commando-interpreter en het gebruik van RAID-arrays. Je maakt kennis met de innerlijke wereld van Linux. Het boek is geschikt voor zowel professionele als beginnende beheerders, aangezien de presentatie van het materiaal begint met het installeren van het Linux-besturingssysteem en het eerste hoofdstuk de basisnetwerktechnologieën en -protocollen beschrijft (cursus voor jonge beheerders).

Alle vermeldingen in het boek zijn in de praktijk getest en op de bijgevoegde cd geplaatst. Daarnaast bevat het veel referentie-informatie (HOWTO, RFC), evenals artikelen over Linux. Er is een uitgebreide reeks hulpprogramma's en software voor de server (Apache, MySQL, MRTG, enz.).

Boek:

Als u een RedHat-compatibele distributie gebruikt, moet u de juiste pakketten installeren. Ik gebruik sendmailI-8.11.0 en imap-4.7c2. De nieuwste versie van sendmail kan worden gedownload van internet op http://www.sendmail.org.

Voordat u sendmail gaat instellen, moet u DNS correct configureren. Het opzetten van een DNS-server is uitgebreid besproken in hoofdstuk. 10. Als u alleen een mailserver instelt, hoeft u geen DNS-server op dezelfde computer in te stellen. Het is voldoende om de DNS-servers van uw netwerk op te geven in het bestand /etc/resolv.conf om het naamomzettingssysteem correct te laten werken. Sendmail kan echter worden geconfigureerd om te werken zonder DNS te gebruiken, maar ik zal deze optie niet overwegen.

Om te beginnen met het instellen van de basis sendmail, voert u het hulpprogramma netconf uit (zie figuur 13.1). Het werkt zowel vanuit X-Window als vanaf de console. Het netconf-hulpprogramma is beschikbaar in RedHat Linux, Mandrake, ASPLinux en andere distributies; het is zeker niet in KSI Linux. Uiteraard dient u als root ingelogd te zijn. Als je geen netconf hebt, kun je het bestand /etc/sendmail.cf met de hand bewerken. In dit bestand worden alle sendmail-instellingen opgeslagen.


Afb. 13.1. netconf-configurator

Selecteer E-mailbezorgsysteem in het menu en vervolgens Basisconfiguratie van sendmail. In het veld Presenteer uw systeem als voert u eenvoudig uw domeinnaam in. Zorg er dan voor dat u het selectievakje 'E-mail accepteren voor uw_domein.com' aanvinkt (zie figuur 13.2). Als u dit niet doet, kunnen berichten via uw server worden omgeleid naar een andere server. Tegelijkertijd stroomt er extra verkeer via uw server, wat u helemaal niet nodig heeft. Er was eens zelfs dit soort ontkenningsaanval via e-mail. Het principe is als volgt: er wordt een brief verzonden van een niet-bestaande gebruiker [e-mailadres beveiligd] een andere niet-bestaande gebruiker [e-mailadres beveiligd]. De brief wordt verzonden via de hostcomcomputer, waardoor u het bericht kunt omleiden (de modus 'E-mail accepteren voor domein.com' is niet ingeschakeld). De mailserver van het domein B.com stuurt een bericht naar het adres [e-mailadres beveiligd] dat de gebruiker [e-mailadres beveiligd] bestaat niet. Op zijn beurt meldt de domeinmailer van A.com dat de gebruiker [e-mailadres beveiligd] bestaat ook niet en stuurt een bericht naar het adres [e-mailadres beveiligd]. Er vindt indirecte recursie plaats. Stel je nu voor dat er niet slechts één zo'n bericht is, maar bijvoorbeeld 100 en dat het volume van elk bericht minstens 1 MB bedraagt! Als gevolg hiervan zou een van de servers in de keten domein1.com - host.com - domein2.com moeten "vallen".


Rijst. 13.2. Basis sendmail-configuratie

Mijn excuses, ik ging een beetje off-topic, laten we doorgaan met het configureren van sendmail. Stel het protocol voor het verzenden van berichten in op smtp (Mail Gateway Protocol).

Deze informatie is al voldoende om uw sendmail te laten functioneren. U kunt extra sendmail-opties instellen met behulp van netconf.

Zorg er nu voor dat sendmail alleen e-mail accepteert van toegestane adressen. Om dit te doen hoeft u sendmail zelf niet eens te configureren - u hoeft alleen maar de bestanden /etc/hosts.allow en /etc/hosts.deny te bewerken. De eerste bevat een lijst met hosts die toegang hebben tot deze machine, en de tweede bevat een lijst met hosts die geen toegang hebben. Let op: ondanks de naam - “toegestaan” of “geweigerd”, de beperkingen die door het eerste bestand worden ingesteld, zijn veel strenger. Om bijvoorbeeld toegang te weigeren aan alle hosts behalve computers in uw netwerk, voegt u de regel 192.168.1 toe aan het bestand /etc/hosts.allow.

Dit betekent dat het netwerk het adres 192.168.1.0 en het masker 255.255.255.0 heeft. U kunt meer lezen over het formaat van de bestanden hosts.allow en hosts.deny door de opdracht man hosts.allow in te voeren.

Nu is het de beurt aan POP3. Na het installeren van het imap-pakket heb je bijna alles geconfigureerd, d.w.z. Ik wil zeggen dat je de configuratie al kunt controleren. Start de inetd- of xinetd-daemon opnieuw, afhankelijk van welke u gebruikt, en voer het volgende in:

telnet<имя_только_созданного_почтовика> 25

Als antwoord zou je zoiets als dit moeten zien:

192.168.1.1 proberen. . .
Verbonden met 192.168.1.1
Ontsnappingskarakter is
220 de.dhsilabs.com ESMTP Sendmail 8.11.0/8.8.7 zon, 17 juni
2001 10:54:22 +300

Dit betekent dat sendmail werkt. Het enige dat overblijft is controleren of het correct werkt. Om dit te doen, typt u zoiets als het volgende:

mail van: [e-mailadres beveiligd]
220 2.1.0 [e-mailadres beveiligd]…. Afzender oké
rcpt naar: [e-mailadres beveiligd]
220 2.1.5 [e-mailadres beveiligd]…. Ontvanger oké

Voer daarna het gegevenscommando in, vervolgens de berichttekst en om de invoer te beëindigen, plaatst u een punt in de lege regel. Sendmail zal melden dat het bericht is verzonden (preciezer gezegd: in de wachtrij voor verzending geplaatst). Dossier [e-mailadres beveiligd]- de naam van de gebruiker naar wie u e-mail verzendt. De gebruiker moet echt bestaan. De vermelding den.dhsilabs.com is de naam van uw mailer.

Opmerking. Namen [e-mailadres beveiligd] en dhsilabs.com worden als voorbeeld gegeven. In plaats daarvan moet u uw waarden opgeven.

Houd er rekening mee dat het knooppunt my.host.com in de natuur niet bestaat, en het sendmail-programma meldt dat “Sender Ok”. Daarom is het beter om de optie Wachten op DNS in de sendmail-instellingen in te schakelen.

Nu moet u een e-mailclient starten, bijvoorbeeld kmail, en e-mail ontvangen. Gebruik de volgende netwerkinstellingen in kmail: Netwerk? Mail verzenden, stel SMTP, poort 25, servernaam in - de naam van uw mailer, in dit voorbeeld is dat den.dhsilabs.com. Voeg vervolgens een account toe voor POP3:

Gebruikersnaam - den

Wachtwoord - het wachtwoord dat wordt gebruikt om in te loggen op het systeem.

Server - den.dhsilabs.com

Als gevolg hiervan zou u het bericht moeten ontvangen dat u na de gegevens hebt ingevoerd. Dit kan problemen veroorzaken met de naamomzetting. Om deze te vermijden, moet u DNS correct configureren of het IP-adres gebruiken in plaats van de naam van de mailserver. Wanneer u een nieuwe gebruiker toevoegt, zorg er dan voor dat u het inlogwachtwoord instelt. Als u dit niet doet en e-mail probeert te ontvangen zonder een wachtwoord op te geven, ontvangt u de melding “Authenticatie mislukt.”

De basisconfiguratie van sendmail is heel eenvoudig met behulp van de configurator, maar soms is de basisconfiguratie niet voldoende. Voor preciezere instellingen moet u vertrouwd raken met de configuratiebestanden van het sendmail-programma.

Opmerking. In de meeste gevallen zult u tevreden zijn met de basisconfiguratie totdat spammers u onder hun “protectoraat” nemen. Vervolgens zult u Hoofdstuk moeten lezen. 23 over antispammethoden. Het kan echter zijn dat een van de wetten van Murphy een rol speelt: er wordt geen sendmail-configurator voor uw systeem ontwikkeld en dan krijgt u nog steeds te maken met configuratiebestanden.

Het belangrijkste configuratiebestand van sendmail is /etc/sendmail.cf. Op sommige distributies bevindt dit bestand zich in de directory /etc/mail. Er wordt gezegd dat dit bestand langer is dan de limousine van Bill Gates en dat het is bewerkt in de modus "ogen zijn bang, handen doen". Als je me niet gelooft, open dan dit bestand en je zult het zelf zien. Alleen professionele beheerders of ontwikkelaars van sendmail-programma's kunnen dit bestand handmatig bewerken.

Meestal wordt de m4-macroprocessor gebruikt om dit bestand te bewerken. Eerst maak je een speciaal mc-bestand aan. Dit bestand bevat de .sendmail-instellingen, maar in een meer “leesbare” vorm. Bij het bewerken van configuratiebestanden is ook hun grootte van invloed. Ter vergelijking: de grootte van mijn mc-bestand is 2459 bytes, en de grootte van het sendmail.cf-bestand is 46302 bytes. Het is één ding om een ​​bestand van twee kilobyte te bewerken, maar iets heel anders als de bestandsgrootte 46 kilobyte is. In tegenstelling tot het configuratiebestand van sendmail, zult u onmiddellijk begrijpen waar een bepaald mc-bestand voor dient. Vervolgens moet u, na het bewerken van het mc-bestand, de m4-macroprocessor uitvoeren om het sendmail-configuratiebestand te maken:

m4 mijn_config.mc > /etc/sendmail.cf

Voordat u deze opdracht uitvoert, raad ik u ten zeerste aan het originele bestand sendmail.cf ergens op te slaan. Bij onjuiste instellingen kunt u deze altijd herstellen.

Het standaardconfiguratiebestand, dat door de T4-macroprocessor wordt gebruikt om het configuratiebestand van het sendmail-programma (sendmail.cf) te maken, bevindt zich in de directory /usr/share/sendmail-cf/cf. In oudere versies van sendmail kan het zich in de map /usr/lib/sendmail bevinden.

Normaal gesproken heet dit bestand sendmail.mc. Soms heet het iets anders, zoals redhat.mc als u een Red Hat of een compatibel besturingssysteem gebruikt.

Een voorbeeld van het standaardbestand /usr/share/sendmail-cf/cf/redhat.mc wordt getoond in Listing 13.1.

Lijst 13.1. Standaard redhat.mc-bestand

omleiden(-1)
dnl Dit is het macroconfiguratiebestand van sendmail. Als u wijzigingen aanbrengt in dit bestand,
dnl moet je de sendmail-cf rpm geïnstalleerd hebben en dan moet je een
dnl nieuw /etc/sendmail.cf door de volgende opdracht uit te voeren: dnl
dnl m4 /etc/mail/sendmail.mc > /etc/sendmail.cf
dnl
include("../m4/cf.m4")
VERSIONID("linux-installatie voor Red Hat Linux")dnl
OSTYPE("linux")
definieer("confDEF_USER_ID","8:12") dnl
undefine("UUCP_RELAY")dnl
undefine("BITNET_RELAY")dnl
definieer("confAUTO_REBUILD")dnl
definieer("confTO_CONNECT", "1m")dnl
definieer("confTRY_NULL_MX_LIST",true)dnl
definieer("confDONT_PROBE_INTERFACES",true)dnl
definiëren("PROCMAIL_MAILER_PATH", "/usr/bin/procmail")dnl
definiëren("ALIAS_FILE", "/eto/aliases")dnl
dnl definiëren("STATUS_FILE", "/etc/mail/statistics")dnl
definieer("UUCP_MAILER_MAX", "2000000")dnl
definiëren("conf USERDB_SPEC", "/etc/mail/userdb.db")dnl
definiëren("confPRIVACY_FLAGS", "authwarnings,novrfy,noexpn,restrictqrun")dnl
definieer("confAUTH_OPTIONS", "A")dnl
dnl TRUST_AUTH_MECH("DIGEST-MD5 CRAM-MD5 LOGIN PLAIN") dnl
dnl definiëren("confAUTH_MECHANISMS", "DIGEST-MD5 CRAM-MD5 LOGIN PLAIN")dnl
dnl definiëren("confTO_QUEUEWARN", "4h")dnl
dnl definiëren("confTO_QUEUERETURN", "5d")dnl
dnl definiëren("confQUEUE_LA", "12")dnl
dnl definiëren("confREFUSE_LA", "18")dnl
dnl FUNCTIE(delay_checks)dnl
FEATURE("no_default_msa", "dnl")dnl
FEATURE("smrsh",Vusr/sbin/smrsh")dnl
FEATURE("mailertable", "hash-o /etc/mail/mailertable.db")dnl
FEATURE("virtusertable", "hash –o /etc/mail/virtusertable.db")dnl
FUNCTIE(redirect)dnl
FEATURE(always_add_domain)dnl
FUNCTIE(use_cw_file)dnl
FUNCTIE(use_ct_file)dnl
FEATURE(local_procmail, "", "procmail –t –Y –a $h –d $u")dnl
FEATURE("access_db", "hash –o /etc/mail/access.db")dnl
FEATURE("blacklist_recipients")dnl
EXPOSED_USER("root") dnl
dnl Dit verandert sendmail om alleen te luisteren op het loopback-apparaat 127.0.0.1
dnl en niet op andere netwerkapparaten. Geef hier commentaar op als je wilt
dnl om e-mail via het netwerk te accepteren.
DAEMON_OPTIONS("Poort=smtp,Addr=127.0.0.1, Naam=MTA")
dnl OPMERKING: het binden van zowel IPv4- als IPv6-daemon aan dezelfde poort vereist
dnl een kernelpatch
dnl DAEMON_OPTIONS (xport=smtp,Addr=::1, Naam=MTA-v6, Familie=inet6")
dnl We raden u ten zeerste aan om hier commentaar op te geven als u wilt beschermen
dnl jezelf tegen spam. Echter, de laptop en gebruikers op computers die
heeft dnl geen 24x7 DNS, heb dit wel nodig.
FEATURE("accept_unresolvable_domains")dnl
dnl FEATURE("relay_based_on_MX")dnl
MAILER(smtp)dnl
MAILER(procmail)dnl
Cwlocalhost.lokaaldomein

Met behulp van de FEATURE-richtlijn kunt u een of andere functie van het sendmail-programma inschakelen. De mailertable-functie is bijvoorbeeld ontworpen om routering voor specifieke domeinen te overschrijven. U kunt de functionaliteit van het sendmail-programma eenvoudig uitbreiden door de functies die u nodig heeft aan het mc-bestand toe te voegen.

Laten we aannemen dat u wilt dat de namen van computers in een domein verborgen zijn. Dit kunt u eenvoudig bereiken door de functie masquerade_envelope aan uw mc-bestand toe te voegen. Om dit te doen, kopieert u het bestand redhat.mc naar het bestand hide_hosts.me en voegt u de volgende regels toe aan het einde van het bestand hide_hosts.me:

MASQUERADE_AS(mijn-domein.ru)dnl
FEATURE(masquerade_envelope)dnl

Voer vervolgens de opdracht uit:

m4 /usr/share/sendmail-cf/cf/hide_hosts.me> /etc/sendmail.me

Dat is het! De knooppuntnamen worden verborgen. Een beschrijving van andere functies vindt u in de tabel. 13.1.

Functies van het sendmail-programma Tabel 13.1

Functie Beschrijving
toegang_db Definieert de toegangstabel. In deze tabel worden de hosts weergegeven die wel of geen e-mail mogen verzenden via uw mailserver. Deze optie wordt effectief gebruikt om spam te bestrijden. Bescherming tegen spam wordt in detail besproken in het gelijknamige gedeelte in Hoofdstuk. 23
accepteer_onoplosbare_domeinen Hiermee kan e-mail worden verzonden naar domeinen die niet kunnen worden herkend
bestmx_is-local Berichten worden alleen geaccepteerd als de MX DNS-serveringang naar deze mailserver verwijst
zwarte lijst_ontvangers "Zwarte lijst". Een andere optie om spam te bestrijden. De optie access_db is vereist om te kunnen werken.
dnsbl Gebruikt voor blacklisting, dnsbl is een afkorting voor DNS Black List. In eerdere versies heette deze optie (Resolve Black List)
domeintabel Wordt gebruikt om domeinnamen op te lossen
generiek stabiel Wordt gebruikt om het verzendadres in berichten te wijzigen
lokale_procmail Specificeert dat e-mail moet worden bezorgd met behulp van het lokale procmail-hulpprogramma
mailerbaar Overschrijft routering voor specifieke domeinen
maskerade_geheel_domein Wordt gebruikt om het hele domein te maskeren (verbergen). Deze functie moet worden gebruikt in combinatie met de MASQUERADE AS (of MASQUERADE_DOMAIN) richtlijn, bijvoorbeeld MASQUERADE_AS(f117.ru)dnl
maskerade_envelop Hiermee kunt u domeinhostnamen verbergen. Vervangt het ontvangen van-veld van de berichtkop voordat het bericht naar anderen wordt verzonden
omleiden Wordt gebruikt om door te verwijzen naar een andere mailserver. Betekent weigering om e-mail te accepteren met de boodschap, probeer het alstublieft
(probeer dit adres te gebruiken)
relais_gebaseerd_op_MX Staat alleen e-mailomleiding (relay) toe voor hosts die zijn opgegeven in de MX DNS-serverrecords
relay_hosts_only Staat relaying alleen toe voor knooppunten die zijn opgegeven in access_db
relay_mail_from Staat relaying alleen toe als de afzender voorkomt in de RELAY-lijst van de accessdb-database
smrs Met behulp van de beperkte sendmail-shell
gebruik_cf_bestand Wanneer deze functie is gespecificeerd, zal sendmail in het bestand sendmail.cf zoeken naar een lijst met vertrouwde gebruikers
gebruik_cw_bestand Wanneer deze functie is gespecificeerd, zal sendmail in het bestand sendmail.cw zoeken naar een lijst met lokale hosts
virtueel Converteert het adres van de ontvanger naar het adres van de lokale gebruiker

Het bestand /etc/mail/sendmail.cw vermeldt alle aliassen voor een bepaalde mailserver. Laten we aannemen dat uw servernaam mail.dhsilabs.ru is. Als de afzender e-mail naar het adres verzendt [e-mailadres beveiligd], wordt de brief zonder problemen bij de gebruikersruimte afgeleverd. Wat als iemand een brief stuurt naar [e-mailadres beveiligd], zal de bezorging ervan bepaalde problemen veroorzaken, omdat het niet duidelijk is aan welk knooppunt van het dhsilabs-domein het bericht is gericht? Om dit probleem op te lossen, moet u een regel in het bestand sendmail.cw plaatsen.

Eerst een kleine uitweiding

SMTP - Simple Mail Transfer Protocol - een dienst in TCP/IP-netwerken voor het overbrengen van berichten (d.w.z. mail). Normaal gesproken wordt poort 25 gebruikt voor SMTP (zie bestand /etc/services)

POP - Post Office Protocol - wordt gebruikt om e-mail van de server te ontvangen. Standaardpoort is 110 (voor POP3-protocol)

Nu zal ik proberen uit te leggen hoe je een kleine mailserver kunt opzetten met behulp van POP3 en SMTP

Laten we eerst de benodigde software installeren. We hebben sendmail en imap nodig. Als u een RH-compatibele versie van Linux gebruikt, moet u de juiste pakketten installeren.
Ik gebruik
sendmail-8.11.0
imap-4.7c2

Voordat u sendmail gaat configureren, moet u DNS correct configureren, anders zal dit programma niet correct werken (hoewel u sendmail kunt configureren om te werken zonder DNS te gebruiken).

Laten we een aantal basisinstellingen van sendmail uitvoeren. Om dit te doen, moet u het hulpprogramma uitvoeren
netconf. Het werkt zowel vanaf X als vanaf de console.
Het netconf-hulpprogramma is beschikbaar in RH, Mandrake - ik weet het niet zeker over andere versies. (het is niet beschikbaar in KSI Linux). Uiteraard dient u als root ingelogd te zijn.

Selecteer uit het menu Systeem voor postbezorging, Dan Basis sendmail-configuratie
In het veld Presenteer uw systeem als voert u eenvoudig uw domeinnaam in
Vink dan het vakje aan Accepteer e-mail voor ...
Stel het protocol voor het verzenden van berichten in op smtp ( Mailgateway-protocol)

Deze informatie is al voldoende om uw sendmail te laten functioneren.
U kunt extra sendmail-programmaopties instellen met behulp van
netconf. Als u geen sendmail heeft, krijgt u een onvergetelijke ervaring
het plezier van het handmatig bewerken van het bestand /etc/sendmail.cf daarin
instellingen worden opgeslagen) :)

Laten we er nu voor zorgen dat sendmail alleen e-mail accepteert van geautoriseerde personen
adressen. Om dit te doen hoeft u sendmail zelf niet eens te configureren - u hoeft het alleen maar te doen
bewerk de bestanden /etc/hosts.allow en /etc/hosts.deny
De eerste bevat een lijst met hosts die hiertoe toegang hebben
auto, en in de tweede - verboden. Let op: ondanks de naam
(toegestaan|geweigerd), beperkingen die zijn ingesteld door het eerste bestand
veel strenger.

Voorbeeld. Om toegang te weigeren aan alle hosts behalve uw computers
netwerk voeg de regel toe aan het bestand /etc/hosts.allow
"192.168.1.
Dit betekent dat het netwerk het adres 192.168.1.0 en het masker 255.255.255.0 heeft
U kunt meer lezen over het formaat van de bestanden hosts.allow en hosts.deny,
door het commando man /etc/hosts.allow in te voeren

Om alleen e-mail van “uw” domeinen te accepteren, moet u toevoegen aan
mc-bestand (meestal /etc/mail/sendmail.mc) de volgende regels (use
tabs, geen spaties)
LOCAL_CONFIG
FR-o /etc/sendmail.cR

LOCAL_RULESETS
Controleer_rcpt
# alles wat lokaal eindigt is oké
R< $+ @ $=w >$@OK
R< $+ @ $=R >$@OK

# alles wat lokaal afkomstig is, is oké
R$* $: $(dequote "" $&(client_name) $)
R$=w $@ OK
R$=R$@ OK
R$@ $@ Oké

#al het andere is nep
R$* $#error$: "550 Relay geweigerd"

Maak nu een bestand /etc/sendmail.cR en voer daarin de namen van “uw” domeinen in -
één in elke regel.
Alleen met deze domeinen kan de mailer e-mail ontvangen; alle anderen ontvangen dat ook
bericht 550 Doorsturen geweigerd

Nu is het de beurt aan POP3. Na het installeren van het imap-pakket heb je bijna
alles is ingesteld, d.w.z. Ik wil zeggen dat je de configuratie al kunt controleren.

Start eerst de inetd-daemon opnieuw op
Na het herstarten worden de sendmail- en popd-services geactiveerd (meer precies
één sendmail, en popd wordt aangeroepen indien nodig)

Probeer het volgende:
Telnet invoeren<имя_только_созданного_почтовика> 25
Je zou zoiets als dit moeten zien:
192.168.1.1 proberen...
Verbonden met 192.168.1.1
Escape-teken is "^]"
220 de.dhsilabs.com ESMTP Sendmail 8.11.0/8.8.7 Zon, 17 juni 2001 10:54:22 +300

Dit betekent dat sendmail werkt, het enige dat overblijft is controleren hoe correct het is :)

Binnenkomen
mail van: [e-mailadres beveiligd]
220 2.1.0 [e-mailadres beveiligd].... Afzender Oké
rcpt naar: [e-mailadres beveiligd]
220 2.1.5 [e-mailadres beveiligd].... Ontvanger oké
Voer nu de gegevens in en vervolgens de tekst van het bericht. Om de invoer te beëindigen, plaatsen we een punt
op een lege regel

Sendmail meldt dat het bericht is verzonden (preciezer gezegd: geplaatst in
wachtrij voor vertrek)

[e-mailadres beveiligd]-naam van de gebruiker naar wie ik e-mail stuur.
den.dhsilabs.com - de naam van mijn mailer
Houd er rekening mee dat het knooppunt my.host.com in de natuur niet bestaat, maar Sender Ok.
Daarom is het beter om de optie Wachten op DNS in de sendmail-instellingen in te schakelen

Nu moet je een e-mailclient starten, bijvoorbeeld kmail
en de post ophalen.
Netwerkinstellingen in kmail
Netwerk -> Mailverzendset SMTP, poort 25, servernaam -
de naam van uw mailer,
Ik heb - den.dhsilabs.com

Voeg dan een account toe voor POP3
Logboeken - den
Wachtwoord - het wachtwoord dat wordt gebruikt om in te loggen op het systeem
Server - den.dhsilabs.com
Haven - 110

U zou het bericht moeten ontvangen dat u na de gegevens hebt ingevoerd.

Het is onwaarschijnlijk dat je dat nodig hebt webserver die geen e-mail vanaf uw site kunnen verzenden. Hieronder ziet u een eenvoudige manier om snel te implementeren stuur een e-mail als MTA (Mail Transfer Agent) die e-mail verzendt voor de site.

Om te beginnen installatie

Sudo apt-get install sendmail

Het tweede en belangrijkste is de juiste configuratie van de host zelf. De mailer moet duidelijk weten welke DNS FQDN-naam de host heeft en dat deze op het world wide web bestaat.

Laten we aannemen dat de server waarop sendmail werkt heeft een IP-adres 123.123.123.123

We hebben ook een domeinnaam domainame.com, die correct is gedelegeerd aan het IP-adres van de server.

Het bestand bewerken /etc/hosts zodat de server zelf zijn DNS-naam kent (deze moet uiteraard correct en echt zijn)

Sudo nano -w /etc/hosts

De tweede regel die moet worden toegevoegd is een beschrijving van de domeinnaam van de server, de vergelijking met het echte IP-adres van de host en de interne systeemnaam:

127.0.0.1 lokalehost 123.123.123.123 box1.domeinnaam.com uw-webserver

Dan moet u een wijziging in het bestand aanbrengen /etc/hostnaam

Sudo nano -w /etc/hostnaam

En voer daar de juiste servernaam in, die is ingevoerd /etc/hosts in ons voorbeeld is dit uw-webserver.

Inhoud van het bestand /etc/hostname na bewerking:

Jouw-webserver

Na deze stappen moet u de server opnieuw opstarten of het volgende doen:

/etc/init.d/hostnaam restart En voer 2 opdrachten uit: hostnaam hostnaam -f

Als alles correct is, zou het systeem in beide gevallen dezelfde namen moeten produceren: uw-webserver

Ik adviseer controleer de verzending van de brief Dus

# telnet localhost smtp geeft ons: Proberen::1... Proberen 127.0.0.1... Verbonden met localhost. Escape-teken is "^]". 220 localhost6.localdomain6 ESMTP Sendmail 8.14.3/8.14.3/Debian-9.2ubuntu1; Do, 9 Dec 2010 15:31:17 +0200; (Geen UCE/UBE) logtoegang vanaf: localhost.localdomain(OK)- localhost.localdomain voer in: HELO localhost geeft ons: 250 localhost6.localdomain6 Hallo localhost.localdomain, blij je te ontmoeten voer in: MAIL VAN: [e-mailadres beveiligd] geeft ons: 250 2.1.0 [e-mailadres beveiligd]... Afzender ok voer in: RCPT AAN: [e-mailadres beveiligd] geeft ons: 250 2.1.5 [e-mailadres beveiligd]... Ontvanger ok voer in: DATA geeft ons: 354 Voer e-mail in, eindig met "." voer op een regel zelf een testbericht in. Ik hoop dat u vermoedt dat de bovenstaande e-mail vervangen had moeten worden door uw laatste e-mail die Telnet ons schrijft 250 2.0.0 oB9DVHsE004837 Bericht geaccepteerd voor bezorging

Als resultaat van het uitvoeren van een reeks opdrachten naar de opgegeven e-mail ( [e-mailadres beveiligd]) zou er een bericht ("testbericht") moeten binnenkomen.

PHP.ini instellen

gedit/etc/php5/apache2/php.ini

Zoek en bewerk de volgende regel

sendmail_path = /usr/sbin/sendmail -t -i

De functie mail() controleren

echo mail(" [e-mailadres beveiligd]","testbericht", "testbericht","Van: [e-mailadres beveiligd]"); ?>

De installatie is voltooid. Ik hoop dat het voor u heeft gewerkt configureer Sendmail op Ubuntu