Installation und Konfiguration von sendmail. Sendmail in der Ubuntu-Umgebung installieren und konfigurieren. Probleme mit Intertelecom

Zunächst ein kleiner Exkurs

SMTP – Simple Mail Transfer Protocol – ein Dienst in TCP/IP-Netzwerken zur Übertragung von Nachrichten (d. h. E-Mails). Normalerweise wird Port 25 für SMTP verwendet (siehe Datei /etc/services).

POP – Post Office Protocol – wird zum Empfangen von E-Mails vom Server verwendet. Der Standardport ist 110 (für POP3-Protokoll)

Jetzt versuche ich zu erklären, wie man einen kleinen Mailserver mit POP3 und SMTP einrichtet

Lassen Sie uns zunächst die erforderliche Software installieren. Wir benötigen sendmail und imap. Wenn Sie eine RH-kompatible Version von Linux verwenden, müssen Sie die entsprechenden Pakete installieren.
Ich verwende
sendmail-8.11.0
imap-4.7c2

Bevor Sie mit der Konfiguration von sendmail beginnen, müssen Sie DNS korrekt konfigurieren, andernfalls funktioniert dieses Programm nicht ordnungsgemäß (Sie können sendmail jedoch so konfigurieren, dass es ohne Verwendung von DNS funktioniert).

Lassen Sie uns einige grundlegende Einstellungen für sendmail vornehmen. Dazu müssen Sie das Dienstprogramm ausführen
netconf. Es funktioniert sowohl von X als auch von der Konsole aus.
Das Dienstprogramm netconf ist in RH und Mandrake verfügbar. Bei anderen Versionen weiß ich es nicht genau. (Es ist in KSI Linux nicht verfügbar). Selbstverständlich müssen Sie als Root angemeldet sein.

Aus dem Menü auswählen Postzustellungssystem, Dann Grundlegende Sendmail-Konfiguration
Geben Sie im Feld Präsentieren Sie Ihr System als einfach Ihre ein Domainname
Aktivieren Sie dann das Kontrollkästchen E-Mail akzeptieren für ...
Stellen Sie das Nachrichtensendeprotokoll auf SMTP ein ( Mail-Gateway-Protokoll)

Diese Informationen reichen bereits völlig aus, damit Ihr Sendmail funktioniert.
Mit können Sie zusätzliche Sendmail-Programmoptionen festlegen
netconf. Wenn Sie kein Sendmail haben, erhalten Sie ein unvergessliches Erlebnis
das Vergnügen, die Datei /etc/sendmail.cf manuell zu bearbeiten
Einstellungen werden gespeichert) :)

Lassen Sie uns nun festlegen, dass sendmail nur E-Mails von autorisierten Personen akzeptiert
Adressen. Dazu müssen Sie sendmail nicht einmal selbst konfigurieren – Sie brauchen nur
Bearbeiten Sie die Dateien /etc/hosts.allow und /etc/hosts.deny
Die erste davon enthält eine Liste der Hosts, denen der Zugriff darauf gestattet ist
Auto, und im zweiten - verboten. Bitte beachten Sie: Trotz des Namens
(erlaubt|verweigert), Einschränkungen, die von der ersten Datei festgelegt werden
viel strenger.

Beispiel. Um allen Hosts außer Ihren Computern den Zugriff zu verweigern
Netzwerk fügen Sie die Zeile zur Datei /etc/hosts.allow hinzu
"192.168.1.
Das bedeutet, dass das Netzwerk die Adresse 192.168.1.0 und die Maske 255.255.255.0 hat
Sie können mehr über das Format der Dateien hosts.allow und hosts.deny lesen.
durch Eingabe des Befehls man /etc/hosts.allow

Um nur E-Mails von „Ihren“ Domains zu akzeptieren, müssen Sie hinzufügen
mc-Datei (normalerweise /etc/mail/sendmail.mc) folgenden Zeilen(verwenden
Tabulatoren, keine Leerzeichen)
LOCAL_CONFIG
FR-o /etc/sendmail.cR

LOCAL_RULESETS
Scheck_rcpt
# Alles, was lokal endet, ist in Ordnung
R< $+ @ $=w >$@OK
R< $+ @ $=R >$@OK

# Alles, was lokal seinen Ursprung hat, ist in Ordnung
R$* $: $(dequote „“ $&(client_name) $)
R$=w $@ OK
R$=R$@ OK
R$@ $@ OK

# alles andere ist falsch
R$* $#error$: „550 Weiterleitung verweigert“

Erstellen Sie nun eine Datei /etc/sendmail.cR und tragen Sie darin die Namen „Ihrer“ Domains ein –
eine in jeder Zeile.
Nur diese Domänen ermöglichen dem Mailer den Empfang von E-Mails – alle anderen erhalten diese
Meldung 550 Weiterleitung verweigert

Jetzt ist POP3 an der Reihe. Nach der Installation des IMAP-Pakets haben Sie fast
alles ist eingerichtet, d.h. Ich möchte sagen, dass Sie die Konfiguration bereits überprüfen können.

Starten Sie zunächst den inetd-Daemon neu
Nach dem Neustart werden die Dienste sendmail und popd aktiviert (genauer gesagt).
ein sendmail und popd wird nach Bedarf aufgerufen)

Versuche Folgendes:
Geben Sie Telnet ein<имя_только_созданного_почтовика> 25
Sie sollten etwa Folgendes sehen:
Versuche 192.168.1.1 ...
Verbunden mit 192.168.1.1
Escape-Zeichen ist „^]“
220 de.dhsilabs.com ESMTP Sendmail 8.11.0/8.8.7 So, 17. Juni 2001 10:54:22 +300

Das bedeutet, dass sendmail funktioniert, es bleibt nur noch zu überprüfen, wie korrekt es ist :)

Eingeben
Mail von: [email protected]
220 2.1.0 [email protected].... Absender Ok
rcpt an: [email protected]
220 2.1.5 [email protected].... Empfänger Ok
Geben Sie nun Daten ein, dann den Text der Nachricht, zum Abschluss der Eingabe setzen wir einen Punkt
in einer leeren Zeile

Sendmail meldet, dass die Nachricht gesendet (genauer gesagt, platziert in) wurde
Warteschlange vor der Abreise)

[email protected]-Name des Benutzers, an den ich E-Mails sende.
den.dhsilabs.com – der Name meines Mailers
Bitte beachten Sie, dass der Knoten my.host.com in der Natur nicht existiert, aber Sender Ok.
Deshalb ist es besser, die Option „Warten auf DNS“ in den Sendmail-Einstellungen zu aktivieren

Jetzt müssen Sie einige ausführen Mail-Client zum Beispiel kmmail
und die Post abholen.
Netzwerkeinstellungen in kmail
Netzwerk -> E-Mail-Versand eingestellt SMTP, Port 25, Servername -
der Name Ihres Absenders,
Ich habe - den.dhsilabs.com

Fügen Sie dann ein Konto für POP3 hinzu
Protokolle - Höhle
Passwort – das Passwort, mit dem Sie sich beim System anmelden
Server - den.dhsilabs.com
Hafen - 110

Sie sollten die Nachricht erhalten, die Sie nach den Daten eingegeben haben.

Das Buch bespricht ausführlich die Einstellungen von Netzwerkdiensten, die es Ihnen ermöglichen, einen Server mit der erforderlichen Konfiguration und Funktionalität basierend auf dem Linux-Betriebssystem zu erstellen. Sie können jeden Servertyp einrichten: vom Server lokales Netzwerk an den Internetserver und Server Fernzugriff. Die Linux-Administration wird ausführlich beschrieben.

Die Präsentation des Materials basiert auf den Distributionen Red Hat und Mandrake. Viele einzigartige Informationen: Starten von Windows-Spielen für Linux und Erstellen eines Linux-Servers für das Spielzimmer, Einrichten von Dr.-Antivirenprogrammen. Web und AVP für Linux, Verkehrsabrechnungsprogramm MRTG, Sicherheits- und Angriffserkennungssystem LIDS und vieles mehr. Besonderes Augenmerk wird auf die Sicherheit von Linux-Servern gelegt. Das Linux-Betriebssystem selbst wird ausreichend detailliert beschrieben und ein Nachschlagewerk seiner Befehle wird bereitgestellt. Nachdem Sie das Buch gelesen haben, werden Sie sich mit dem Einrichten und Kompilieren des Kernels, dem Erstellen eigener RPM-Pakete und dem Bash-Befehlsinterpreter auskennen RAID-Arrays. Sie lernen die innere Welt von Linux kennen. Das Buch eignet sich sowohl für professionelle als auch für unerfahrene Administratoren, da die Präsentation des Materials mit der Installation des Linux-Betriebssystems beginnt und im ersten Kapitel die grundlegenden Netzwerktechnologien und -protokolle beschrieben werden (Kurs für junge Administratoren).

Alle im Buch aufgeführten Auflistungen sind praxiserprobt und auf der beigefügten CD abgelegt. Darüber hinaus enthält es viel Referenzinformationen(HOWTO, RFC) sowie Artikel zu Linux. Eine umfangreiche Auswahl an Hilfsprogrammen und Software für den Server (Apache, MySQL, MRTG usw.).

Buch:

Wenn Sie eine RedHat-kompatible Distribution verwenden, müssen Sie die entsprechenden Pakete installieren. Ich verwende sendmaiI-8.11.0 und imap-4.7c2. Letzte Version sendmail kann im Internet unter http://www.sendmail.org heruntergeladen werden.

Bevor Sie mit der Einrichtung von sendmail beginnen, müssen Sie DNS richtig konfigurieren. Das Einrichten eines DNS-Servers wurde ausführlich in Kap. 10. Wenn Sie nur einen Mailserver einrichten, ist keine Einrichtung erforderlich DNS Server auf demselben Computer. Damit das Namensauflösungssystem ordnungsgemäß funktioniert, reicht es aus, die DNS-Server Ihres Netzwerks in der Datei /etc/resolv.conf anzugeben. Sendmail kann jedoch so konfiguriert werden, dass es ohne Verwendung von DNS funktioniert, ich werde diese Option jedoch nicht in Betracht ziehen.

Um mit der Einrichtung von grundlegendem Sendmail zu beginnen, führen Sie das Dienstprogramm netconf aus (siehe Abbildung 13.1). Es funktioniert sowohl von X-Window als auch von der Konsole aus. Das Dienstprogramm netconf ist in RedHat Linux, Mandrake, ASPLinux und anderen Distributionen verfügbar; in KSI Linux ist es definitiv nicht verfügbar. Selbstverständlich müssen Sie als Root angemeldet sein. Wenn Sie nicht über Netconf verfügen, wird es eine Menge Spaß machen, die Datei /etc/sendmail.cf manuell zu bearbeiten. In dieser Datei werden alle Sendmail-Einstellungen gespeichert.


Feige. 13.1. Netconf-Konfigurator

Wählen Sie im Menü „Mail-Zustellungssystem“ und dann „Grundlegende Sendmail-Konfiguration“. Geben Sie im Feld Präsentieren Sie Ihr System als einfach Ihren Domainnamen ein. Aktivieren Sie dann unbedingt das Kontrollkästchen „E-Mail für Ihre_Domain.com akzeptieren“ (siehe Abbildung 13.2). Wenn Sie dies nicht tun, werden Nachrichten möglicherweise über Ihren Server an einen anderen Server umgeleitet. Gleichzeitig fließt zusätzlicher Datenverkehr über Ihren Server, der Ihnen keinen Nutzen bringt. Es gab einmal sogar eine solche Denial-Attacke per E-Mail. Das Prinzip ist wie folgt: Ein Brief wird von einem nicht existierenden Benutzer gesendet [email protected] ein weiterer nicht existierender Benutzer [email protected]. Der Brief wird über den Hostcom-Computer gesendet, sodass Sie die Nachricht umleiten können (der Modus „E-Mail für domain.com akzeptieren“ ist nicht aktiviert). Der Mailserver der Domain B.com sendet eine Nachricht an die Adresse [email protected] dass der Benutzer [email protected] existiert nicht. Im Gegenzug meldet der Domain-Mailer A.com, dass der Benutzer [email protected] existiert ebenfalls nicht und sendet eine Nachricht an die Adresse [email protected]. Es kommt zu einer indirekten Rekursion. Stellen Sie sich nun vor, dass es nicht nur eine solche Nachricht gibt, sondern beispielsweise 100, und das Volumen jeder einzelnen beträgt mindestens 1 MB! Infolgedessen sollte einer der Server in der Kette domain1.com – host.com – domain2.com „fallen“.


Reis. 13.2. Grundlegende Sendmail-Konfiguration

Es tut mir leid, ich bin ein wenig vom Thema abgekommen. Fahren wir mit der Konfiguration von sendmail fort. Stellen Sie das Nachrichtensendeprotokoll auf SMTP (Mail-Gateway-Protokoll) ein.

Diese Informationen reichen bereits völlig aus, damit Ihr Sendmail funktioniert. Sie können mit netconf zusätzliche Sendmail-Optionen festlegen.

Lassen Sie sendmail nun E-Mails nur von zulässigen Adressen akzeptieren. Dazu müssen Sie Sendmail nicht einmal selbst konfigurieren – Sie müssen lediglich die Dateien /etc/hosts.allow und /etc/hosts.deny bearbeiten. Der erste enthält eine Liste von Hosts, denen der Zugriff auf diesen Computer gestattet ist, und der zweite enthält eine Liste von Hosts, denen der Zugriff verweigert wird. Bitte beachten Sie: Trotz des Namens - B. „erlaubt“ oder „verweigert“, sind die Einschränkungen, die von der ersten Datei festgelegt werden, viel strenger. Um beispielsweise allen Hosts außer Computern in Ihrem Netzwerk den Zugriff zu verweigern, fügen Sie die Zeile 192.168.1 zur Datei /etc/hosts.allow hinzu.

Das bedeutet, dass das Netzwerk die Adresse 192.168.1.0 und die Maske 255.255.255.0 hat. Sie können mehr über das Format der Dateien hosts.allow und hosts.deny erfahren, indem Sie den Befehl man hosts.allow eingeben.

Jetzt ist POP3 an der Reihe. Nach der Installation des imap-Pakets haben Sie fast alles konfiguriert, d. h. Ich möchte sagen, dass Sie die Konfiguration bereits überprüfen können. Starten Sie den inetd- oder xinetd-Daemon neu, je nachdem, welchen Sie verwenden, und geben Sie Folgendes ein:

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

Als Antwort sollte etwa Folgendes angezeigt werden:

Versuchen Sie es mit 192.168.1.1. . .
Verbunden mit 192.168.1.1
Escape-Zeichen ist
220 de.dhsilabs.com ESMTP Sendmail 8.11.0/8.8.7 So, 17. Jun
2001 10:54:22 +300

Das bedeutet, dass sendmail funktioniert. Sie müssen nur noch überprüfen, wie korrekt es funktioniert. Geben Sie dazu etwa Folgendes ein:

Mail von: [email protected]
220 2.1.0 [email protected]…. Absender Ok
rcpt an: [email protected]
220 2.1.5 [email protected]…. Empfänger Ok

Danach geben Sie ein Datenbefehl, dann den Text der Nachricht, und um den Eintrag zu beenden, fügen Sie einen Punkt in die leere Zeile ein. Sendmail meldet, dass die Nachricht gesendet wurde (genauer gesagt, in die Warteschlange zum Senden gestellt wurde). Aufzeichnen [email protected]- der Name des Benutzers, an den Sie E-Mails senden. Der Benutzer muss wirklich existieren. Der Eintrag den.dhsilabs.com ist der Name Ihres Mailers.

Notiz. Namen [email protected] und dhsilabs.com werden als Beispiel genannt. Stattdessen müssen Sie Ihre Werte angeben.

Bitte beachten Sie, dass der Knoten my.host.com in der Natur nicht existiert und das sendmail-Programm „Sender Ok“ meldet. Deshalb ist es besser, die Option „Warten auf DNS“ in den Sendmail-Einstellungen zu aktivieren.

Jetzt müssen Sie einen E-Mail-Client, zum Beispiel kmail, starten und E-Mails empfangen. Verwenden Sie in kmail die folgenden Netzwerkeinstellungen: Netzwerk? E-Mail senden, SMTP, Port 25, Servername einstellen – der Name Ihres Mailers, in diesem Beispiel ist es den.dhsilabs.com. Fügen Sie dann ein Konto für POP3 hinzu:

Benutzername - Höhle

Passwort – das Passwort, mit dem Sie sich beim System anmelden.

Server - den.dhsilabs.com

Als Ergebnis sollten Sie die Nachricht erhalten, die Sie nach den Daten eingegeben haben. Dies kann zu Problemen bei der Namensauflösung führen. Um sie zu vermeiden, müssen Sie DNS richtig oder anstelle des Namens konfigurieren Mail-Server Verwenden Sie dessen IP-Adresse. Stellen Sie beim Hinzufügen eines neuen Benutzers sicher, dass Sie dessen Anmeldekennwort festlegen. Wenn Sie dies nicht tun und versuchen, E-Mails ohne Angabe eines Passworts zu empfangen, erhalten Sie die Meldung „Authentifizierung fehlgeschlagen“.

Die Grundeinrichtung von sendmail ist mit dem Konfigurator sehr einfach, aber manchmal reicht die Grundeinrichtung nicht aus. Für genauere Einstellungen müssen Sie sich mit den Konfigurationsdateien des Programms sendmail vertraut machen.

Notiz. In den meisten Fällen werden Sie zufrieden sein Grundeinstellung Bis Spammer Sie unter ihr „Protektorat“ stellen – dann müssen Sie Kap. 23 über Anti-Spam-Methoden. Möglicherweise kommt jedoch eines von Murphys Gesetzen ins Spiel: Für Ihr System wird kein Sendmail-Konfigurator entwickelt, und dann müssen Sie sich immer noch mit Konfigurationsdateien befassen.

Die Hauptkonfigurationsdatei von sendmail ist /etc/sendmail.cf. Bei einigen Distributionen befindet sich diese Datei im Verzeichnis /etc/mail. Diese Datei soll länger sein als die Limousine von Bill Gates und im Modus „Augen haben Angst, Hände tun“ bearbeitet. Wenn Sie mir nicht glauben, öffnen Sie diese Datei und Sie werden es selbst sehen. Bearbeiten Diese Datei Nur professionelle Administratoren oder sendmail-Programmentwickler können dies manuell tun.

Typischerweise wird zum Bearbeiten dieser Datei der m4-Makroprozessor verwendet. Zuerst bereiten Sie eine spezielle MC-Datei vor. Diese Datei enthält die .sendmail-Einstellungen, jedoch in einer „lesbareren“ Form. Beim Bearbeiten von Konfigurationsdateien wirkt sich auch deren Größe aus. Zum Vergleich: Die Größe meiner MC-Datei beträgt 2459 Bytes und die Größe der sendmail.cf-Datei beträgt 46302 Bytes. Es ist eine Sache, eine Datei mit zwei Kilobyte zu bearbeiten, aber eine ganz andere, wenn die Dateigröße 46 Kilobyte beträgt. Im Gegensatz zur Sendmail-Konfigurationsdatei verstehen Sie sofort, wozu eine bestimmte MC-Datei dient. Nachdem Sie die MC-Datei bearbeitet haben, müssen Sie dann den M4-Makroprozessor ausführen, um die Sendmail-Konfigurationsdatei zu erstellen:

m4 my_config.mc > /etc/sendmail.cf

Bevor Sie diesen Befehl ausführen, empfehle ich dringend, die ursprüngliche sendmail.cf-Datei irgendwo zu speichern. Bei fehlerhaften Einstellungen können Sie diese jederzeit wiederherstellen.

Die Standardkonfigurationsdatei, die vom T4-Makroprozessor zum Erstellen der Sendmail-Programmkonfigurationsdatei (sendmail.cf) verwendet wird, befindet sich im Verzeichnis /usr/share/sendmail-cf/cf. In älteren Versionen von sendmail befindet es sich möglicherweise im Verzeichnis /usr/lib/sendmail.

Normalerweise heißt diese Datei sendmail.mc. Manchmal wird es auch anders genannt, z. B. redhat.mc, wenn Sie ein Red Hat- oder kompatibles Betriebssystem verwenden.

Ein Beispiel für die Standarddatei /usr/share/sendmail-cf/cf/redhat.mc ist in Listing 13.1 dargestellt.

Auflistung 13.1. Standard-redhat.mc-Datei

umleiten(-1)
dnl Dies ist die Sendmail-Makrokonfigurationsdatei. Wenn Sie Änderungen an dieser Datei vornehmen,
dnl Sie müssen den sendmail-cf-RPM installieren und müssen dann einen generieren
dnl new /etc/sendmail.cf, indem Sie den folgenden Befehl ausführen: dnl
dnl m4 /etc/mail/sendmail.mc > /etc/sendmail.cf
dnl
include("../m4/cf.m4")
VERSIONID("Linux-Setup für Red Hat Linux")dnl
OSTYPE("linux")
define("confDEF_USER_ID","8:12") dnl
undefine("UUCP_RELAY")dnl
undefine("BITNET_RELAY")dnl
define("confAUTO_REBUILD")dnl
define("confTO_CONNECT", "1m")dnl
define("confTRY_NULL_MX_LIST",true)dnl
define("confDONT_PROBE_INTERFACES",true)dnl
define("PROCMAIL_MAILER_PATH", "/usr/bin/procmail")dnl
define("ALIAS_FILE", "/eto/aliases")dnl
dnl define("STATUS_FILE", "/etc/mail/statistics")dnl
define("UUCP_MAILER_MAX", "2000000")dnl
define("conf USERDB_SPEC", "/etc/mail/userdb.db")dnl
define("confPRIVACY_FLAGS", "authwarnings,novrfy,noexpn,restrictqrun")dnl
define("confAUTH_OPTIONS", "A")dnl
dnl TRUST_AUTH_MECH("DIGEST-MD5 CRAM-MD5 LOGIN PLAIN") dnl
dnl define("confAUTH_MECHANISMS", "DIGEST-MD5 CRAM-MD5 LOGIN PLAIN")dnl
dnl define("confTO_QUEUEWARN", "4h")dnl
dnl define("confTO_QUEUERETURN", "5d")dnl
dnl define("confQUEUE_LA", "12")dnl
dnl define("confREFUSE_LA", "18")dnl
dnl FEATURE(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
FEATURE(redirect)dnl
FEATURE(always_add_domain)dnl
FEATURE(use_cw_file)dnl
FEATURE(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 Dies ändert sendmail so, dass es nur auf dem Loopback-Gerät 127.0.0.1 lauscht
dnl und nicht auf anderen Netzwerkgeräten. Kommentieren Sie dies aus, wenn Sie möchten
dnl, um E-Mails über das Netzwerk zu akzeptieren.
DAEMON_OPTIONS("Port=smtp,Addr=127.0.0.1, Name=MTA")
dnl HINWEIS: Die Bindung von IPv4- und IPv6-Daemon an denselben Port erfordert
dnl einen Kernel-Patch
dnl DAEMON_OPTIONS (xport=smtp,Addr=::1, Name=MTA-v6, Family=inet6")
dnl Wir empfehlen dringend, dies zu kommentieren, wenn Sie es schützen möchten
Schützen Sie sich vor Spam. Allerdings sind der Laptop und Benutzer auf Computern das
Haben Sie kein 24x7-DNS, benötigen Sie dies?
FEATURE("accept_unresolvable_domains")dnl
dnl FEATURE("relay_based_on_MX")dnl
MAILER(smtp)dnl
MAILER(procmail)dnl
Cwlocalhost.localdomain

Mit der FEATURE-Direktive können Sie die eine oder andere Funktion des sendmail-Programms aktivieren. Beispielsweise ist die mailertable-Funktion so konzipiert, dass sie das Routing für bestimmte Domänen außer Kraft setzt. Sie können problemlos erweitern Funktionalität sendmail-Programm und fügt der MC-Datei die benötigten Funktionen hinzu.

Nehmen wir an, Sie möchten, dass die Namen der Computer in einer Domäne ausgeblendet werden. Dies lässt sich leicht erreichen, indem Sie die Funktion masquerade_envelope zu Ihrer MC-Datei hinzufügen. Kopieren Sie dazu die Datei redhat.mc in die Datei hide_hosts.me und fügen Sie am Ende der Datei hide_hosts.me die folgenden Zeilen hinzu:

MASQUERADE_AS(my-domain.ru)dnl
FEATURE(masquerade_envelope)dnl

Führen Sie dann den Befehl aus:

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

Das ist alles! Die Knotennamen werden ausgeblendet. Eine Beschreibung weiterer Funktionen finden Sie in der Tabelle. 13.1.

Funktionen des sendmail-Programms Tabelle 13.1

Funktion Beschreibung
access_db Definiert die Zugriffstabelle. In dieser Tabelle sind die Hosts aufgeführt, denen das Versenden von E-Mails über Ihren Mailserver gestattet oder untersagt ist. Diese Option wird effektiv zur Spam-Bekämpfung eingesetzt. Der Spam-Schutz wird im gleichnamigen Abschnitt im Kapitel ausführlich besprochen. 23
Accept_unresolvable_domains Ermöglicht das Senden von E-Mails an Domänen, die nicht erkannt werden können
bestmx_is-local Nachrichten werden nur akzeptiert, wenn der MX-DNS-Servereintrag auf diesen Mailserver verweist
blacklist_recipients „Schwarze Liste“. Eine weitere Möglichkeit, Spam zu bekämpfen. Damit es funktioniert, ist die Option access_db erforderlich.
dnsbl DNSBL wird für Blacklists verwendet und ist die Abkürzung für DNS Black List. In früheren Versionen hieß diese Option (Schwarze Liste auflösen)
Domänentabelle Wird zum Auflösen von Domänennamen verwendet
genericstable Wird verwendet, um die Absenderadresse in Nachrichten zu ändern
local_procmail Gibt an, dass E-Mails mit dem lokalen Dienstprogramm procmail zugestellt werden sollen
mailertable Überschreibt das Routing für bestimmte Domänen
masquerade_entire_domain Wird verwendet, um die gesamte Domäne zu maskieren (auszublenden). Diese Funktion muss in Verbindung mit der Direktive MASQUERADE AS (oder MASQUERADE_DOMAIN) verwendet werden, zum Beispiel MASQUERADE_AS(f117.ru)dnl
masquerade_envelope Ermöglicht Ihnen, Domänen-Hostnamen auszublenden. Ersetzt das Feld „Empfangen von“ des Nachrichtenheaders, bevor die Nachricht an andere gesendet wird
umleiten Wird zur Umleitung auf einen anderen Mailserver verwendet. Bedeutet, dass die Annahme von E-Mails mit der Nachricht „Bitte versuchen Sie es“ verweigert wird
(versuchen Sie es mit dieser Adresse)
Relay_based_on_MX Ermöglicht die E-Mail-Umleitung (Relay) nur für Hosts, die in den MX-DNS-Servereinträgen angegeben sind
Relay_hosts_only Ermöglicht die Weiterleitung nur für Knoten, die in access_db angegeben sind
Relay_mail_from Ermöglicht die Weiterleitung nur, wenn der Absender in der RELAY-Liste der accessdb-Datenbank aufgeführt ist
smrsh Verwendung der eingeschränkten Sendmail-Shell
use_cf_file Wenn diese Funktion angegeben ist, sucht sendmail in der Datei sendmail.cf nach einer Liste vertrauenswürdiger Benutzer
use_cw_file Wenn diese Funktion angegeben ist, sucht sendmail in der Datei sendmail.cw nach einer Liste lokaler Hosts
virtusertable Wandelt die Adresse des Empfängers in die Adresse des lokalen Benutzers um

Die Datei /etc/mail/sendmail.cw listet alle Aliase für einen bestimmten Mailserver auf. Nehmen wir an, Ihr Servername lautet mail.dhsilabs.ru. Wenn der Absender eine E-Mail an die Adresse sendet [email protected], wird der Brief problemlos an die Benutzerhöhle zugestellt. Und wenn jemand einen Brief an die Adresse schickt [email protected], dann wird die Zustellung gewisse Schwierigkeiten bereiten, da nicht klar ist, an welchen Knoten der dhsilabs-Domäne die Nachricht adressiert ist? Um dieses Problem zu lösen, müssen Sie eine Zeile in die Datei sendmail.cw einfügen.

Es erschien bereits 1983, wird aber bis heute aktiv genutzt. Zu den Hauptmerkmalen gehört, dass es von vielen heute existierenden Plattformen unterstützt wird und zudem kostenlos ist. Die Anwendung wird mit Open-Source-Software geliefert. Das bedeutet, dass jeder seine eigene Funktionalität hinzufügen oder nach Belieben ändern kann. Im Ubuntu-Betriebssystem hat sich Sendmail, das über die Linux-Befehlszeile konfiguriert wird, aufgrund der guten Unterstützung und umfangreichen Funktionen etabliert.

Der Nachrichtenprozessor Sendmail hat sich im Geschäftsleben weit verbreitet.

Heute ist der „Nachrichtenprozessor“ Sendmail Sentrion weit verbreitet, der unter Berücksichtigung der Bedürfnisse großer Unternehmen entwickelt wurde. Seine besonderen Merkmale sind hohe Leistung und gute Integration in alle Geschäftsprozesse. Sentrion bietet neben neuen Technologien auch die Nutzung bewährter Legacy-Anwendungen an. Die App ist auch benutzerfreundlich genug, um für Heimanwender geeignet zu sein.

Programminstallation

Sie müssen Sandmail auf der Basis installieren lokaler Server oder Webserver. Im zweiten Fall ist der Mail-Agent funktionaler. Um alle Komponenten eines Webservers zu erhalten, benötigen Sie einen LAMP-Komponentenstapel. Es ist im Repository zu finden.

WICHTIG. Bevor Sie neue Software installieren, aktualisieren Sie unbedingt die Paketlisten in Ihrem lokalen Repository mit dem Befehl

„$ sudo apt-get update“

Die Sandmail-Installation beginnt mit dem Befehl „sudo apt install sendmail“, der die Mail-Agent-Pakete herunterlädt.

„mcedit /etc/hosts“
„sudo sendmailconfig“

Danach müssen Sie die Dienste des Programms selbst sowie das Web neu starten Apache-Server:

„sudo /etc/init.d/sendmail restart“
„sudo /etc/init.d/apache2 restart“

Bei Bedarf können Sie Dienstprogramme für die Arbeit mit E-Mails installieren:

„sudo install mailutils“

Wir prüfen die Funktionsfähigkeit des gesamten Systems:

„mail your_mail< /dev/null»

Dabei ist „your_mail“ die aktuelle Postanschrift.

Und zum Schluss überprüfen wir die Protokolldatei. Dies ist die Mail-Dienstdatei, in der Installationsfehler angezeigt werden:

„tail -f /var/log/mail.log“

Alles was Sie tun müssen, ist in die Box zu gehen Email. Es sollte bereits eine Testnachricht enthalten.

Sie haben also mehr über ein Programm für Ubuntu namens Sendmail erfahren, dessen Einrichtung sich als gar nicht so schwierig herausstellte. Wenn Sie Fragen zu anderen Aspekten der Arbeit mit Programmen für Linux haben, suchen Sie auf den Seiten unserer Website nach Antworten!

Es ist unwahrscheinlich, dass Sie es brauchen Webserver das keine E-Mails von Ihrer Website senden kann. Im Folgenden finden Sie eine einfache Möglichkeit zur schnellen Bereitstellung sendmail als MTA (Mail Transfer Agent), der E-Mails für die Site sendet.

Für den Anfang Installation

Sudo apt-get install sendmail

Zweitens und am wichtigsten – richtige Einstellung der Gastgeber selbst. Der Mailer muss genau wissen, welchen DNS-FQDN-Namen der Host hat und dass er im World Wide Web existiert.

Nehmen wir an, dass der Server auf dem sendmail funktioniert hat eine IP-Adresse 123.123.123.123

Wir haben auch einen Domänennamen domainname.com, der korrekt an die Server-IP-Adresse delegiert ist.

Bearbeiten der Datei /etc/hosts damit der Server selbst seinen DNS-Namen kennt (dieser muss natürlich korrekt und echt sein)

Sudo nano -w /etc/hosts

Die zweite Zeile, die hinzugefügt werden sollte, ist eine Beschreibung des Domänennamens des Servers, sein Vergleich mit der tatsächlichen IP-Adresse des Hosts und dem internen Systemnamen:

127.0.0.1 lokaler Host 123.123.123.123 box1.domainname.com Ihr-Webserver

Dann müssen Sie eine Änderung an der Datei vornehmen /etc/hostname

Sudo nano -w /etc/hostname

Und geben Sie dort den korrekten Servernamen ein, der eingegeben wurde /etc/hosts In unserem Beispiel ist dies Ihr Webserver.

Inhalt der Datei /etc/hostname nach der Bearbeitung:

Ihr-Webserver

Nach diesen Schritten müssen Sie den Server neu starten oder Folgendes tun:

/etc/init.d/hostname restart Und führen Sie 2 Befehle aus: Hostname Hostname -f

Wenn alles korrekt ist, sollte das System in beiden Fällen die gleichen Namen erzeugen: Ihr-Webserver

ich empfehle Überprüfen Sie den Versand des Briefes auf diese Weise

# Telnet localhost smtp gibt uns: Trying::1... Trying 127.0.0.1... Verbunden mit localhost. Das Escape-Zeichen ist „^]“. 220 localhost6.localdomain6 ESMTP Sendmail 8.14.3/8.14.3/Debian-9.2ubuntu1; Do, 9. Dezember 2010 15:31:17 +0200; (Kein UCE/UBE) Protokollierungszugriff von: localhost.localdomain(OK)- localhost.localdomain Geben Sie ein: HELO localhost gibt uns: 250 localhost6.localdomain6 Hallo localhost.localdomain, ich freue mich, Sie kennenzulernen. Geben Sie Folgendes ein: MAIL FROM: [email protected] gibt uns: 250 2.1.0 [email protected]... Absender ok, eingeben: RCPT TO: [email protected] gibt uns: 250 2.1.5 [email protected]... Empfänger ok enter: DATA ergibt uns: 354 Mail eingeben, mit „“ enden. Geben Sie in einer Zeile eine Testnachricht ein. Ich hoffe, dass Sie vermutet haben, dass die obige E-Mail durch Ihre letzte E-Mail ersetzt werden sollte, die Telnet uns schreibt. 250 2.0.0 oB9DVHsE004837 Nachricht zur Zustellung angenommen

Als Ergebnis der Ausführung einer Befehlsfolge an die angegebene E-Mail ( [email protected]) sollte eine Nachricht („Testnachricht“) eintreffen.

php.ini einrichten

gedit/etc/php5/apache2/php.ini

Suchen und bearbeiten Sie die nächste Zeile

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

Überprüfung der Funktion mail()

Echo mail(" [email protected]","Testnachricht","Testnachricht","Von: [email protected]"); ?>

Die Einrichtung ist abgeschlossen. Ich hoffe, es hat bei Ihnen funktioniert Konfigurieren Sie Sendmail unter Ubuntu

Installations- und Konfigurationsanleitung für einen der ältesten MTA (Mail-Transfer-Agent), Programm zum Versenden von E-Mails - sendmail, das auf jedem installiert werden kann Betriebssystem. In vielen Betriebssystemen ist sendmail standardmäßig installiert und es besteht keine besondere Notwendigkeit, diesen Standard-MTA in einen anderen zu ändern. Gleichzeitig ist dasselbe PHP standardmäßig für die Arbeit mit diesem MTA konfiguriert. Wenn das Einrichten von sendmail lange dauert, installieren Sie postfix(), Sie sollten nicht viel Zeit verschwenden.

Vorbereitung

Überprüfen Sie, ob Sie sendmail installiert haben und nicht Exim4 oder einen anderen MTA:

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

Installation

sudo apt-get install sendmail sasl2-bin

Konfigurieren von /etc/hosts

127.0.0.1 localhost localhost.localdomain e5530
Notiz

Sie müssen Ihren Haupthost (Computername, meiner ist e5530) und localhost.localdomain angeben, andernfalls erhalten Sie eine Fehlermeldung: Mein unqualifizierter Hostname (myhostname) unbekannt; Ich schlafe für einen erneuten Versuch“ und „Ich konnte meinen eigenen Domainnamen (e5530) nicht qualifizieren – Kurzname verwendet.“, sendmail Der Start dauert lange und der E-Mail-Versand ist langsam. Eventuell Gastgeber localhost.localdomain Kann übersehen werden, bin mir nicht sicher.

Danach müssen Sie die Namen der lokalen Hosts angeben, von denen sendmail nimmt Anfragen entgegen eine E-Mail senden Nachrichten, in der Datei /etc/mail/local-host-names:

AuthInfo:smtp.gmail.com „U: [email protected]" "ICH: [email protected]" "P:YourPass" "M:PLAIN" AuthInfo:smtp.gmail.com:465 "U: [email protected]" "ICH: [email protected]" "P:YourPass" "M:PLAIN"

Notiz

Anstelle von Port 465 können Sie es auch mit 587 versuchen (bei Problemen mit der Autorisierung):

AuthInfo:smtp.gmail.com:587 „U: [email protected]" "ICH: [email protected]" "P:YourPass" "M:PLAIN"

Chmod 600 /etc/mail/auth/*

Sendmail.mc konfigurieren

Konfigurationsdatei /etc/mail/sendmail.mc. Vergleichen Sie Ihre Konfiguration. Es sollte ungefähr so ​​aussehen... Die Reihenfolge der Anweisungen ist wichtig!

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 define(`SMART_HOST",`smtp.gmail.com" )dnl define(`RELAY_MAILER_ARGS", `TCP $h 587")dnl define(`ESMTP_MAILER_ARGS", `TCP $h 587")dnl dnl # dnl # Standard-Mailer-Setup MAILER_DEFINITIONS MAILER(`local")dnl MAILER(`smtp" )dnl define(`confAUTH_MECHANISMS", `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN")dnl # dnl define(`confDOMAIN_NAME", `e5530")dnl

Anwenden der sendmail-Konfiguration

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

Probleme und Lösungen

Wenn alles richtig konfiguriert ist, Nachrichten aber in einer „verzögerten Warteschlange“ landen und nicht an ein anderes SMTP weitergeleitet werden:

  1. Überprüfen Sie Ihre IP in den Blacklists. Sie können die IP-Sperre hier überprüfen: smart-ip.net, meine IP wurde in die Spamhaus-Datenbank aufgenommen.
  2. Überprüfen Sie, ob Ihr Provider ausgehende Pakete auf Port 25 blockiert.
Probleme mit Intertelecom!

Es gelang mir nie, über sendmail auf der Intertelecom-Verbindung eine Nachrichtenweiterleitung an GMail einzurichten – sendmail klopfte hartnäckig an Port 25, der vom Provider geschlossen war. Ich musste Postfix konfigurieren.

PHP-Setup (falls erforderlich)

Geben Sie die Sendmail-Startparameter in der Konfiguration /etc/php5/apache2/php.ini (/etc/php5/cli/php.ini) an:

## Sendmail für PHP konfigurieren: sendmail_path = /usr/sbin/sendmail -t ;sendmail_path = "/usr/sbin/sendmail -t -f [email protected]-ich"

Lassen Sie uns die Einstellungen überprüfen

echo „Nachrichtentext“ | mail -s „Betreff“ [email protected] sendmail -t [email protected]-F [email protected]-v -i< ~/mail-body.txt

Um Postfix zu testen, versuchen Sie, mehrere Nachrichten von der Konsole aus zu senden. Wie das geht, habe ich in diesem Artikel beschrieben: „“.

Sendmail-Verwaltung

Sehen Sie sich die gesamte Nachrichtenwarteschlange an:

Sudo mailq

Sehen Sie sich die Nachrichtenwarteschlange an einer bestimmten Adresse an:

Sudo mailq | grep " [email protected]" | wc -l

Löschen Sie die gesamte sendmail-Nachrichtenwarteschlange:

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

Löschen Sie die sendmail-Nachrichtenwarteschlange nach Ziel:

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

#sendmail, #LAMP, #MTA

P.S. Wenn Sie die Linux-Konsole auf einem ziemlich guten Niveau erlernen möchten, empfehle ich die Lektüre des neuesten Buches von Denis Kolisnichenko. Befehlszeile Linux und Automatisierung von Routineaufgaben».

gastroguru 2017