Debian php sendmail sendet keine E-Mails. Installieren und Konfigurieren von Sendmail in einer Ubuntu-Umgebung. Verwenden der sendmail-Konfiguration

Es erschien 1983, wird aber bis heute aktiv genutzt. Zu den wichtigsten Funktionen gehören die Unterstützung durch viele der heute existierenden Plattformen sowie die kostenlose Verfügbarkeit. Die App kommt mit Open-Source-Code. 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-Kommandozeile konfiguriert wird, dank seiner guten Unterstützung und reichhaltigen Funktionen durchgesetzt.

Der Nachrichtenprozessor - Sendmail - ist in der Geschäftswelt weit verbreitet.

Heute ist der "Nachrichtenprozessor" Sendmail Sentrion, der unter Berücksichtigung der Bedürfnisse großer Unternehmen entwickelt wurde, weit verbreitet. Seine charakteristischen Merkmale sind eine hohe Performance und eine gute Integration in alle Geschäftsprozesse. Sentrion bietet neben neuen Technologien auch Legacy-Anwendungen, die sich gut durchgesetzt haben. Außerdem ist die App freundlich genug, um Heimanwendern gerecht zu werden.

Programminstallation

Sie müssen Sendmail auf Basis eines lokalen Servers oder Webservers installieren. Im zweiten Fall ist der Mailagent funktionaler. Um alle Komponenten eines Webservers zu erhalten, benötigen Sie einen Stapel von LAMP-Komponenten. Es ist im Repository zu finden.

WICHTIG. Vergessen Sie vor der Installation neuer Software nicht, die Paketlisten im lokalen Repository mit dem Befehl . zu aktualisieren

"$ Sudo apt-get update"

Die Installation von Sendmail 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 den Apache-Webserver neu starten:

"Sudo /etc/init.d/sendmail Neustart"
"Sudo /etc/init.d/apache2 Neustart"

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

"Sudo installiere mailutils"

Wir prüfen die Leistungsprüfung des Gesamtsystems:

"Mail your_mail< /dev/null»

wobei "your_mail" die aktuelle Postanschrift ist.

Lassen Sie uns abschließend die Protokolldatei überprüfen. Dies ist die Mail-Service-Datei, in der Installationsfehler angezeigt werden:

Tail -f /var/log/mail.log

Es bleibt nur noch zum E-Mail-Postfach zu gehen. Darin sollte bereits eine Testnachricht stehen.

Sie haben also mehr über ein Ubuntu-Programm namens Sendmail erfahren, das sich als ziemlich einfach zu konfigurieren herausstellte. Wenn Sie Fragen zu anderen Aspekten der Arbeit mit Programmen für Linux haben - suchen Sie auf den Seiten unserer Site nach Antworten!

Das Buch beschreibt detailliert die Einstellungen von Netzwerkdiensten, mit denen Sie einen Server mit der erforderlichen Konfiguration und Funktionalität basierend auf dem Linux-Betriebssystem erstellen können. Sie können jeden Servertyp einrichten: von einem lokalen Netzwerkserver über einen Internetserver bis hin zu einem RAS-Server. Die Linux-Administration wird ausführlich beschrieben.

Die Präsentation basiert auf den Distributionen Red Hat und Mandrake. Viele einzigartige Informationen: Windows-Spiele unter Linux ausführen und einen Linux-Server für eine Spielhalle erstellen, Dr. Web und AVP für Linux, MRTG-Datenverkehrsabrechnungssoftware, LIDS-Schutz- und -Erkennungssystem und vieles mehr. Besonderes Augenmerk wird auf die Sicherheit von Linux-Servern gelegt. Das Linux-Betriebssystem selbst wird ausreichend detailliert beschrieben und ein Verweis auf seine Befehle wird bereitgestellt. Nach der Lektüre des Buches besitzen Sie Kenntnisse über die Konfiguration und Kompilierung des Kernels, das Erstellen eigener rpm-Pakete, die Bash-Shell und die Verwendung von RAID-Arrays. Sie lernen die Innenwelt von Linux kennen. Das Buch ist sowohl für professionelle als auch für unerfahrene Administratoren geeignet, da die Präsentation des Materials mit der Installation des Linux-Betriebssystems beginnt und das erste Kapitel die grundlegenden Netzwerktechnologien und -protokolle beschreibt (Young Administrator Course).

Alle Listings in diesem Buch sind praxiserprobt und auf der beiliegenden CD zu finden. Darüber hinaus enthält es viele Referenzinformationen (HOWTO, RFC) sowie Artikel zu Linux. Ein reichhaltiger Satz an Hilfsdienstprogrammen und Software für den Server ist vorhanden (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. Die neueste Version von sendmail kann aus dem Internet unter http://www.sendmail.org heruntergeladen werden.

Bevor Sie mit der Konfiguration von sendmail beginnen, müssen Sie DNS richtig konfigurieren. Die Einrichtung des DNS-Servers wurde ausführlich in Kap. 10. Wenn Sie nur einen Mailserver konfigurieren, müssen Sie keinen DNS-Server auf demselben Computer konfigurieren. Es reicht aus, die DNS-Server Ihres Netzwerks in der Datei /etc/resolv.conf anzugeben, damit das Namensauflösungssystem korrekt funktioniert. Allerdings kann sendmail so konfiguriert werden, dass es ohne DNS funktioniert, aber ich werde diese Option nicht in Betracht ziehen.

Um mit der grundlegenden sendmail-Konfiguration zu beginnen, führen Sie das Dienstprogramm netconf aus (siehe Abbildung 13.1). Es funktioniert sowohl vom X-Window als auch von der Konsole aus. Das Dienstprogramm netconf ist in RedHat Linux, Mandrake, ASPLinux und anderen Distributionen verfügbar, aber sicherlich nicht in KSI Linux. Natürlich müssen Sie als root eingeloggt sein. Wenn Sie netconf nicht haben, werden Sie die große Freude haben, /etc/sendmail.cf manuell zu bearbeiten. In dieser Datei werden alle sendmail-Einstellungen gespeichert.


Feige. 13.1. Netconf-Konfigurator

Wählen Sie E-Mail-Zustellungssystem aus dem Menü und dann Grundkonfiguration von sendmail. Geben Sie im Feld Ihr System präsentieren als einfach Ihren Domainnamen ein. Aktivieren Sie anschließend das Kontrollkästchen "E-Mail für Ihre_Domain.com akzeptieren" (siehe Abbildung 13.2). Wenn Sie dies nicht tun, kann Ihr Server Nachrichten an einen anderen Server umleiten. Gleichzeitig wird überschüssiger Datenverkehr über Ihren Server geleitet, den Sie überhaupt nicht benötigen. Es war einmal sogar eine solche Ablehnungsattacke per E-Mail. Sein Prinzip ist wie folgt: Ein Brief wird von einem nicht existierenden Benutzer gesendet [E-Mail geschützt] ein anderer nicht vorhandener Benutzer [E-Mail geschützt] Der Brief wird über den Hostcom-Computer gesendet, wodurch die Nachricht umgeleitet werden kann (der Modus "E-Mail für domain.com akzeptieren" ist nicht aktiviert). Der Mailserver der Domain B.com sendet eine Nachricht an die Adresse [E-Mail geschützt] dass der Benutzer [E-Mail geschützt] existiert nicht. Der Mailer der A.com-Domain wiederum informiert, dass der Benutzer [E-Mail geschützt] existiert auch nicht und sendet eine Nachricht an die Adresse [E-Mail geschützt] Es kommt zu einer indirekten Rekursion. Stellen Sie sich nun vor, dass eine solche Nachricht nicht eine ist, sondern beispielsweise 100 und das Volumen jeder mindestens 1 MB beträgt! Als Ergebnis sollte einer der Server in der Kette domain1.com - host.com - domain2.com "abstürzen".


Feige. 13.2. Grundlegende sendmail-Konfiguration

Entschuldigung, ich schweife etwas vom Thema ab. Lassen Sie uns mit der Konfiguration von sendmail fortfahren. Stellen Sie das Nachrichtensendeprotokoll auf smtp (Mail Gateway Protocol) ein.

Diese Informationen reichen bereits aus, um Ihre sendmail zum Laufen zu bringen. Mit netconf können Sie zusätzliche Optionen für das sendmail-Programm einstellen.

Stellen Sie nun so ein, dass sendmail nur E-Mails von autorisierten Adressen akzeptiert. Dazu müssen Sie sendmail nicht einmal selbst konfigurieren - Sie müssen lediglich die Dateien /etc/hosts.allow und /etc/hosts.deny anpassen. Der erste enthält eine Liste der Hosts, denen der Zugriff auf diese Maschine erlaubt ist, und der zweite enthält eine Liste der Hosts, denen der Zugriff verweigert wird. Achtung: trotz des Namens - "Erlaubt" oder "Verboten", die Einschränkungen, die von der ersten Datei gesetzt werden, sind viel strenger. Um beispielsweise allen Hosts außer Computern in Ihrem Netzwerk den Zugriff zu verweigern, fügen Sie der Datei /etc/hosts.allow die Zeile 192.168.1 hinzu.

Hier meinen wir, 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, indem Sie den Befehl man hosts.allow eingeben.

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

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

Als Antwort sollten Sie etwa Folgendes sehen:

Versuch 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 abzuwarten, wie gut es das macht. Geben Sie dazu etwa Folgendes ein:

Mail von: [E-Mail geschützt]
220 2.1.0 [E-Mail geschützt]…. Absender Ok
rcpt an: [E-Mail geschützt]
220 2.1.5 [E-Mail geschützt]…. Empfänger Ok

Geben Sie danach den Datenbefehl ein, dann den Text der Nachricht, und um die Eingabe zu beenden, fügen Sie einen Punkt in eine leere Zeile ein. Sendmail informiert Sie, dass die Nachricht gesendet wurde (genauer gesagt wurde sie in die Sendewarteschlange gestellt). Aufzeichnung [E-Mail geschützt]- 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.

Hinweis. Namen [E-Mail geschützt] und dhsilabs.com werden als Beispiele angegeben. Sie müssen stattdessen Ihre eigenen Werte angeben.

Bitte beachten Sie, dass es in der Natur keinen my.host.com-Host gibt und das sendmail-Programm "Sender Ok" meldet. Daher ist es besser, die Option Wait for DNS in den sendmail-Einstellungen zu aktivieren.

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

Benutzername - den

Passwort – das Passwort, das verwendet wird, um sich beim System anzumelden.

Server - den.dhsilabs.com

Als Ergebnis sollten Sie die Nachricht erhalten, die Sie nach Daten eingegeben haben. Beim Auflösen des Namens kann es jedoch zu Problemen kommen. Um sie zu vermeiden, müssen Sie DNS richtig konfigurieren oder seine IP-Adresse anstelle des Namens des Mailservers verwenden. Achten Sie beim Hinzufügen eines neuen Benutzers darauf, sein Anmeldekennwort festzulegen. Wenn Sie dies nicht tun, aber versuchen, E-Mails ohne Angabe eines Kennworts zu empfangen, erhalten Sie die Meldung "Authentifizierung fehlgeschlagen".

Die Grundkonfiguration von sendmail ist über den Konfigurator sehr einfach, aber manchmal reicht die Grundkonfiguration nicht aus. Für eine genauere Konfiguration müssen Sie sich mit den sendmail-Konfigurationsdateien vertraut machen.

Hinweis. In den meisten Fällen werden Sie mit der Grundeinstellung zufrieden sein, bis Spammer Sie unter ihr "Schutzgebiet" nehmen - dann müssen Sie Kap. 23 über Methoden zum Schutz vor Spam. Allerdings kann eines von Murphys Gesetzen funktionieren - es wird kein sendmail-Konfigurator für Ihr System entwickelt, und dann müssen Sie sich 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 die Bearbeitung erfolgt im Modus "Augen haben Angst, Hände tun". Wenn Sie mir nicht glauben, öffnen Sie diese Datei und Sie werden davon überzeugt sein. Nur professionelle Administratoren oder sendmail-Entwickler können diese Datei manuell bearbeiten.

Normalerweise wird der m4-Makroprozessor verwendet, um diese Datei zu bearbeiten. 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: Meine mc-Datei ist 2459 Byte groß und meine sendmail.cf-Datei ist 46302 Byte groß. Es ist eine Sache, eine 2-Kilobyte-Datei zu bearbeiten, und eine ganz andere, wenn die Dateigröße 46 Kilobyte beträgt. Im Gegensatz zur sendmail-Konfigurationsdatei werden Sie sofort verstehen, wozu eine bestimmte mc-Datei dient. Nachdem Sie die mc-Datei bearbeitet haben, müssen Sie 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 Quelldatei sendmail.cf irgendwo zu speichern. Bei falschen Einstellungen können Sie es 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 des sendmail-Programms befindet es sich möglicherweise im Verzeichnis /usr/lib/sendmail.

Normalerweise heißt diese Datei sendmail.mc. Es kann manchmal anders heißen, zum Beispiel redhat.mc, wenn Sie das Red Hat-Betriebssystem verwenden oder damit kompatibel sind.

Ein Beispiel für eine Standarddatei /usr/share/sendmail-cf/cf/redhat.mc zeigt Listing 13.1.

Auflistung 13.1. Standard-redhat.mc-Datei

umleiten (-1)
dnl Dies ist die Konfigurationsdatei für das sendmail-Makro. Wenn Sie Änderungen an dieser Datei vornehmen,
dnl muss das sendmail-cf rpm installiert sein und dann muss ein generate
dnl new /etc/sendmail.cf, indem Sie den folgenden Befehl ausführen: dnl
dnl m4 /etc/mail/sendmail.mc> /etc/sendmail.cf
dnl
einschließen ("../m4 / cf.m4")
VERSIONID ("Linux-Setup für Red Hat Linux") dnl
OSTYPE ("Linux")
define ("confDEF_USER_ID", "8:12") dnl
undefiniere ("UUCP_RELAY") dnl
undefiniere ("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, restriktivqrun") 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 (umleiten) 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. Kommentiere das, wenn du willst
dnl, um E-Mails über das Netzwerk zu akzeptieren.
DAEMON_OPTIONS ("Port = smtp, Addr = 127.0.0.1, Name = MTA")
dnl HINWEIS: Das Binden von IPv4- und IPv6-Daemon an denselben Port erfordert
dnl einen Kernel-Patch
dnl DAEMON_OPTIONS (xport = smtp, Addr = :: 1, Name = MTA-v6, Familie = inet6")
dnl Wir empfehlen dringend, diesen auszukommentieren, wenn Sie ihn schützen möchten
dnl dich vor Spam. Der Laptop und die Benutzer auf Computern, die
habe dnl nicht 24x7 DNS brauche dies.
FEATURE ("accept_unresolvable_domains") dnl
dnl FEATURE ("relay_based_on_MX") dnl
MAILER (smtp) dnl
MAILER (procmail) dnl
Cwlocalhost.localdomain

Die FEATURE-Direktive kann verwendet werden, um die eine oder andere Funktion des sendmail-Programms zu verbinden. Die mailertable-Funktion ist beispielsweise so konzipiert, dass sie das Routing für bestimmte Domänen außer Kraft setzt. Sie können die Funktionalität des sendmail-Programms einfach erweitern, indem Sie der mc-Datei die gewünschten Funktionen hinzufügen.

Angenommen, Sie möchten die Namen der Computer in der Domäne ausblenden. Dies erreichen Sie ganz einfach, indem Sie Ihrer mc-Datei die Funktion masquerade_envelope 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. Die Beschreibung der anderen Funktionen ist in der Tabelle dargestellt. 13.1.

Sendmail-Funktionen Tabelle 13.1

Funktion Beschreibung
access_db Definiert die Zugriffstabelle. In dieser Tabelle sind die Hosts aufgeführt, denen das Senden von E-Mails über Ihren E-Mail-Server gestattet oder verweigert wird. Diese Option wird effektiv zur Bekämpfung von Spam verwendet. Spamschutz wird im gleichnamigen Abschnitt in Kap. 23
akzeptieren_unresolvable_domains Ermöglicht das Senden von E-Mails an Domänen, die nicht erkannt werden
bestmx_is-local Nachrichten werden nur akzeptiert, wenn der MX-DNS-Eintrag auf diesen Mailserver verweist
blacklist_recipients "Schwarze Liste". Eine weitere Möglichkeit zur Bekämpfung von Spam. Damit es funktioniert, ist die Option access_db erforderlich.
dnsbl Wird verwendet, um mit der schwarzen Liste zu arbeiten, dnsbl ist eine Abkürzung für DNS Black List. In früheren Versionen hieß diese Option (Schwarze Liste auflösen)
Domaintabelle Wird verwendet, um Domainnamen aufzulösen
generisch stabil 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
maskerade_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
maskerade_umschlag Ermöglicht Ihnen, die Hostnamen der Domain auszublenden. Ersetzt das Empfangen von-Feld des Nachrichtenheaders, bevor die Nachricht an andere gesendet wird
umleiten Wird verwendet, um auf einen anderen Mailserver umzuleiten. Bedeutet Verweigerung der Annahme von E-Mails mit der Ausgabe einer Nachricht, bitte versuchen Sie es
(Versuchen Sie, diese Adresse zu verwenden)
relay_based_on_MX Ermöglicht die E-Mail-Weiterleitung (Relaying) nur für Hosts, die in den MX-DNS-Servereinträgen angegeben sind
relay_hosts_only Erlaubt die Weiterleitung nur für Knoten, die in access_db angegeben sind
relay_mail_from Erlaubt die Weiterleitung nur, wenn der Absender in der RELAY-Liste der accessdb aufgeführt ist
smrsh Verwenden 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 eines lokalen Benutzers um

Die Datei /etc/mail/sendmail.cw listet alle Aliase für einen bestimmten Mailserver auf. Angenommen, Ihr Servername ist mail.dhsilabs.ru. Wenn der Absender eine E-Mail an die Adresse sendet [E-Mail geschützt], wird der Brief ohne Probleme an die Benutzerhöhle geliefert. Und wenn jemand einen Brief an die Adresse schickt [E-Mail geschützt], dann wird ihre 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.

Zuerst ein kleiner Exkurs

SMTP - Simple Mail Transfer Protocol - ein Dienst in TCP/IP-Netzwerken zum Übertragen von Nachrichten (z. B. Mail). Normalerweise wird Port 25 für SMTP verwendet (siehe /etc/services-Datei)

POP - Post Office Protocol - wird verwendet, um E-Mails vom Server zu empfangen. Der Standardport ist 110 (für POP3-Protokoll)

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

Zunächst installieren wir die erforderliche Software. Wir brauchen 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 richtig konfigurieren, sonst funktioniert dieses Programm nicht richtig (obwohl Sie sendmail so konfigurieren können, dass es ohne DNS funktioniert).

Nehmen wir die Grundkonfiguration von sendmail vor. Dazu müssen Sie das Dienstprogramm ausführen
netconf... Es funktioniert sowohl unter X als auch unter der Konsole.
Das Dienstprogramm netconf befindet sich in RH, Mandrake - bei anderen Versionen weiß ich es nicht genau. (es ist unter KSI Linux nicht verfügbar). Natürlich müssen Sie als root eingeloggt sein.

Wählen Sie aus dem Menü Postzustellungssystem dann Grundlegende sendmail-Konfiguration
Geben Sie im Feld Ihr System präsentieren als einfach Ihren Domainnamen ein
Dann aktivieren Sie das Kästchen E-Mail akzeptieren für...
Setzen Sie das Nachrichtensendeprotokoll auf smtp ( Mail-Gateway-Protokoll)

Diese Informationen reichen bereits aus, um Ihre sendmail zum Laufen zu bringen.
Mit . können Sie weitere Optionen für das sendmail-Programm einstellen
netconf. Wenn Sie sendmail nicht haben, haben Sie ein unvergessliches
das Vergnügen, die Datei /etc/sendmail.cf manuell zu bearbeiten - darin
die Einstellungen werden gespeichert) :)

Jetzt wollen wir es so machen, dass sendmail nur E-Mails von autorisierten akzeptiert
Adressen. Dazu müssen Sie sendmail nicht einmal selbst konfigurieren - Sie müssen nur
korrekte Dateien /etc/hosts.allow und /etc/hosts.deny
Der erste enthält eine Liste von Hosts, die darauf zugreifen dürfen
das Auto, und in der zweiten ist es verboten. Achtung: trotz des Namens
(erlaubt | verweigert), Einschränkungen, die von der ersten Datei gesetzt werden
viel strenger.

Beispiel. So verweigern Sie den Zugriff auf alle Hosts außer Ihren Computern
Netzwerke in der Datei /etc/hosts.allow die Zeile hinzufügen
"192.168.1.
Hier meinen wir, dass das Netzwerk die Adresse 192.168.1.0 und die Maske 255.255.255.0 hat
Sie können mehr über die Dateiformate hosts.allow und hosts.deny lesen,
durch Eingabe des Befehls man /etc/hosts.allow

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

LOCAL_RULESETS
Scheck_rcpt
# alles, was lokal endet, ist in Ordnung
R< $+ @ $=w > [E-Mail geschützt] OK
R< $+ @ $=R > [E-Mail geschützt] OK

# alles, was lokal stammt, ist in Ordnung
R $ * $: $ (dequote "" $ & (client_name) $)
R$ = w [E-Mail geschützt] OK
R$ = R [E-Mail geschützt] OK
[E-Mail geschützt] [E-Mail geschützt] OK

# alles andere ist falsch
R $ * $ # Fehler $: "550 Weiterleitung verweigert"

Erstellen Sie nun eine Datei /etc/sendmail.cR und tragen Sie dort die Namen "Ihrer" Domains ein -
einer in jeder Zeile.
Nur für diese Domains kann der Mailer E-Mails empfangen - alle anderen erhalten
550 Weiterleiten von abgelehnten Nachrichten

Jetzt ist POP3 an der Reihe. Nach der Installation des imap-Pakets haben Sie praktisch
alles ist eingerichtet, d.h. Ich möchte sagen, dass es bereits möglich ist, die Konfiguration zu überprüfen.

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

Versuche Folgendes:
Telnet eingeben<имя_только_созданного_почтовика> 25
Sie sollten so etwas sehen:
Versuch 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

Dies bedeutet, dass sendmail funktioniert, es bleibt abzuwarten, wie richtig :)

Vorstellen
Mail von: [E-Mail geschützt]
220 2.1.0 [E-Mail geschützt].... Absender Ok
rcpt an: [E-Mail geschützt]
220 2.1.5 [E-Mail geschützt].... Empfänger Ok
Jetzt geben wir Daten ein, dann den Text der Nachricht, um die Eingabe zu beenden setzen wir einen Punkt
in einer leeren Zeile

Sendmail informiert Sie darüber, dass die Nachricht gesendet wurde (genauer gesagt, sie befindet sich in
Schlange für die Abfahrt)

[E-Mail geschützt]-Name des Benutzers, an den ich E-Mails sende.
den.dhsilabs.com - der Name meines Mailers
Bitte beachten Sie, dass es in der Natur keinen my.host.com-Host gibt, sondern Sender Ok.
Aus diesem Grund ist es besser, in den sendmail-Einstellungen die Option Wait for DNS zu aktivieren

Jetzt müssen Sie einen Mail-Client starten, zum Beispiel kmail
und holen Sie die Post ab.
Netzwerkeinstellungen in kmail
Netzwerk -> Mail Sending set SMTP, 25. Port, Servername -
der Name Ihres Mailers,
Ich habe - den.dhsilabs.com

Dann fügen Sie ein Konto für POP3 hinzu
Protokolle - den
Passwort - das Passwort, das verwendet wird, um sich beim System anzumelden
Server - den.dhsilabs.com
Hafen - 110

Sie sollten die von Ihnen eingegebene Nachricht nach Daten erhalten.

Brauchst du kaum Webserver die keine E-Mails von Ihrer Site senden können. 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

Die zweite und wichtigste Sache ist die richtige Konfiguration des Hosts selbst. Der Mailer muss klar wissen, welchen DNS-FQDN-Namen der Host hat und dass er im riesigen Weltnetzwerk existiert.

Angenommen, der Server, auf dem sendmail funktioniert hat eine IP-Adresse 123.123.123.123

Wir haben auch den Domainnamen domainame.com, der korrekt an die IP-Adresse des Servers delegiert wird.

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

Sudo nano -w / etc / hosts

Die zweite Zeile, die hinzugefügt werden sollte, ist die Beschreibung des Server-Domain-Namens, dessen Vergleich mit der realen IP-Adresse des Hosts und dem internen Systemnamen:

127.0.0.1 localhost 123.123.123.123 box1.domainname.com Ihr-Web-Server

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

Sudo nano -w / etc / hostname

Und geben Sie dort den richtigen Servernamen ein, der in eingegeben wurde / etc / hosts in unserem Beispiel ist dies dein-web-server.

Inhalt der Datei /etc/hostname nach der Bearbeitung:

Ihr-Webserver

Nach diesen Schritten müssen Sie den Server neu starten oder ausführen:

/etc/init.d/hostname restart Und 2 Befehle ausführen: hostname hostname -f

Wenn alles korrekt ist, sollte das System in beiden Fällen die gleichen Namen zurückgeben: dein-webserver

Beraten Ü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. Escape-Zeichen ist "^]". 220 localhost6.localdomain6 ESMTP-Sendmail 8.14.3 / 8.14.3 / Debian-9.2ubuntu1; Do, 9. Dez 2010 15:31:17 +0200; (Kein UCE / UBE) Logging-Zugriff von: localhost.localdomain (OK) - localhost.localdomain Geben Sie ein: HELO localhost gibt uns: 250 localhost6.localdomain6 Hallo localhost.localdomain, freut mich, Sie kennenzulernen, geben Sie ein: MAIL FROM: [E-Mail geschützt] es gibt uns: 250 2.1.0 [E-Mail geschützt] Absender ok eingeben: RCPT AN: [E-Mail geschützt] es gibt uns: 250 2.1.5 [E-Mail geschützt] Empfänger ok, eingeben: DATA liefert uns: 354 Mail eingeben, mit "." Geben Sie in einer Zeile für sich eine Testnachricht ein. Ich hoffe, Sie haben erraten, dass die obige E-Mail durch Ihre letzte ersetzt werden sollte, die telnet an uns schreibt 250 2.0.0 oB9DVHsE004837 Nachricht zur Zustellung akzeptiert

Als Ergebnis der Ausführung einer Befehlsfolge an die angegebene E-Mail ( [E-Mail geschützt]) sollte eine Meldung kommen ("Testmeldung").

PHP.ini-Setup

gedit/etc/php5/apache2/php.ini

Suchen und bearbeiten Sie die nächste Zeile

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

Überprüfen der Mail()-Funktion

Echo E-Mail (" [E-Mail geschützt]"," Testnachricht "," Testnachricht "," Von: [E-Mail geschützt]"); ?>

Die Einrichtung ist abgeschlossen, ich hoffe es gelingt dir Sendmail unter Ubuntu konfigurieren

Installations- und Konfigurationsanleitung für eines der ältesten MTA (Mail-Transfer-Agent), ein Programm zum Versenden von E-Mails - sendmail die für die Installation auf jedem Betriebssystem verfügbar ist. Auf 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 so konfiguriert, dass es mit diesem MTA funktioniert. Wenn die Einrichtung von sendmail viel Zeit in Anspruch nimmt - setzen Sie postfix() ein, dann müssen Sie nicht viel Zeit verschwenden.

Vorbereitung

Überprüfen Sie, ob sendmail installiert ist und nicht exim4 oder ein anderer 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

/etc/hosts konfigurieren

127.0.0.1 localhost localhost.localdomain e5530
Hinweis

Sie müssen Ihren Haupthost (Computername, meiner ist e5530) und localhost.localdomain angeben, andernfalls erhalten Sie eine Fehlermeldung: Mein nicht qualifizierter Hostname (myhostname) unbekannt; schlafe für einen erneuten Versuch "und" kann meinen eigenen Domainnamen (e5530) nicht qualifizieren - mit Kurznamen, sendmail braucht lange zum Starten und sendet E-Mails langsam. Möglicherweise Gastgeber localhost.localdomain kann übersprungen werden, bin mir nicht sicher.

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

AuthInfo: smtp.gmail.com "U: [E-Mail geschützt]"" ICH: [E-Mail geschützt]"" P: YourPass "" M: PLAIN "AuthInfo: smtp.gmail.com: 465" U: [E-Mail geschützt]"" ICH: [E-Mail geschützt]"" P: YourPass "" M: PLAIN "

Hinweis

Anstelle von Port 465 können Sie versuchen, auf 587 anzuklopfen (bei Problemen mit der Autorisierung):

AuthInfo: smtp.gmail.com: 587 "U: [E-Mail geschützt]"" ICH: [E-Mail geschützt]"" P: YourPass "" M: PLAIN "

Chmod 600 / etc / mail / auth / *

Sendmail.mc-Konfiguration

Konfigurationsdatei /etc/mail/sendmail.mc. Vergleichen Sie Ihre Konfiguration. Es sollte ungefähr so ​​sein.. Die Reihenfolge der Anleitung 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 # Default Mailer setup MAILER_DEFINITIONS MAILER (`local") dnl MAILER ( ) dnl define (`confAUTH_MECHANISMS", `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN") dnl # dnl define (`confDOMAIN_NAME", `e5530") dnl

Verwenden 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, aber Nachrichten in die "Pending Queue" gehen und nicht an ein anderes SMTP weitergeleitet werden:

  1. Überprüfen Sie Ihre IP "schnick in den Blacklists. Sie können die gesperrte IP hier bei smart-ip.net überprüfen, meine IP ist in die Spamhaus-Datenbank geraten" ein.
  2. Überprüfen Sie, ob Ihr Provider ausgehende Pakete auf Port 25 blockiert.
Probleme mit der Sprechanlage!

Ich habe es nicht geschafft, die Nachrichtenweiterleitung auf GMail über sendmail auf der Intertelecom-Verbindung einzurichten - sendmail klopfte hartnäckig auf Port 25, der vom ISP geschlossen wird. Ich musste Postfix konfigurieren.

PHP-Konfiguration (falls erforderlich)

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

## Konfigurieren von sendmail für PHP: sendmail_path = /usr / sbin / sendmail -t; sendmail_path = "/usr / sbin / sendmail -t -f [E-Mail geschützt]-ich "

Lass uns die Einstellungen überprüfen

echo "Nachrichtentext" | mail -s "Betreff" [E-Mail geschützt] sendmail -t [E-Mail geschützt]-f [E-Mail geschützt]-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

Zeigen Sie die gesamte Nachrichtenwarteschlange an:

Sudo mailq

Zeigen Sie die Nachrichtenwarteschlange an einer bestimmten Adresse an:

Sudo mailq | grep" [E-Mail geschützt]"| wc -l

Löschen Sie die gesamte sendmail-Nachrichtenwarteschlange:

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

Löschen Sie die sendmail-Nachrichtenwarteschlange am Ziel:

Cd / var / spule / mqueue ls | xargs -ti sh -c "grep" [E-Mail geschützt]"" () "> / dev / null && rm -f" () ""

#sendmail, #LAMP, #MTA

PS Wenn Sie die Linux-Konsole auf einem ziemlich guten Niveau erlernen möchten, empfehle ich die Lektüre des frischen Buches von Denis Kolisnichenko “ Linux-Kommandozeile und Automatisierung von Routineaufgaben».

Fortsetzung des Themas:
Router

Standard-Gadgets sind bedingungslos aus modernen Versionen von Windows OC verschwunden. Aber die Benutzer sind es nicht gewohnt, etwas Gutes zu verlieren und verwenden daher aktiv Analoga. Lange bevor ...