Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
centos:mail_c7:mta_6 [04.11.2014 18:17. ] – [Dynamische Empfänger-Verifizierung] django | centos:mail_c7:mta_6 [22.07.2019 15:00. ] (aktuell) – Externe Bearbeitung 127.0.0.1 | ||
---|---|---|---|
Zeile 256: | Zeile 256: | ||
</ | </ | ||
</ | </ | ||
- | Den notwendigen | + | Den notwendigen |
# grep verify / | # grep verify / | ||
Zeile 264: | Zeile 264: | ||
=== Konfiguration === | === Konfiguration === | ||
- | In der Section **[[centos: | + | Als erstes legen wir uns ein Datenverzeichnis, |
+ | # mkdir / | ||
+ | |||
+ | # chown postfix.root / | ||
+ | |||
+ | # chmod 700 / | ||
+ | |||
+ | Als nächstes definieren wir noch die entsprechende Datenbank, bzw. den Ort wo Postfix diese Datenbank abspeichern wird. Hierzu tragen wir in die Konfigurationsdatei // | ||
+ | # vim / | ||
+ | |||
+ | <code bash> | ||
+ | |||
+ | # Django : 2015-10-15 - Ergebnisse der Adress-Verification cachen | ||
+ | # Kapitel 12.2.2 Dynamische Empfänger-Verifizierung | ||
+ | # Kapitel 9.5.5 envelope sender überprüfen | ||
+ | # default: address_verify_map = btree: | ||
+ | address_verify_map = btree:/ | ||
+ | </ | ||
+ | |||
+ | Dann aktivieren wir in der Section **[[centos: | ||
# (Kapitel 12.2.2 Dynamische Empfänger-Verifizierung) | # (Kapitel 12.2.2 Dynamische Empfänger-Verifizierung) | ||
| | ||
Zeile 355: | Zeile 374: | ||
</ | </ | ||
- | === Datenpflege der Emfangsaddressen | + | === Datenpflege der Empfangsaddressen |
Die Pflege der verify-Datenbank übernimmt dabei Postfix selbst, trägt neue Adressen ein und löscht auch regelmäßig alte Einträge - kurz und gut, der Postfix betreibt also eine Art // | Die Pflege der verify-Datenbank übernimmt dabei Postfix selbst, trägt neue Adressen ein und löscht auch regelmäßig alte Einträge - kurz und gut, der Postfix betreibt also eine Art // | ||
# postconf address_verify_positive_refresh_time | # postconf address_verify_positive_refresh_time | ||
Zeile 391: | Zeile 410: | ||
Dieser Parameter legt fest, mit welchem // | Dieser Parameter legt fest, mit welchem // | ||
+ | ===== Tests ===== | ||
+ | <WRAP round important> | ||
+ | ==== Einlieferung via LMTP beim backend-System ==== | ||
+ | Als erstes testen wir, ob wir von unserem SMTP-Server aus beim IMAP-Server auf Port 24 (**LMTP**) eine Nachricht einliefern können. Damit wir uns beim Tippen nicht die Finger brechen und/oder vertippen, greifen wir auf das Hilfsprogramm **[[http:// | ||
+ | # swaks --to django@nausch.org --from michael@nausch.org --header-X-Test "test email" --server 10.0.0.77 --protocol LMTP | ||
+ | < | ||
+ | === Connected to 10.0.0.77. | ||
+ | <- 220 imap.nausch.org Dovecot ready. | ||
+ | -> LHLO vml000087.dmz.nausch.org | ||
+ | <- 250-imap.nausch.org | ||
+ | <- 250-8BITMIME | ||
+ | <- 250-ENHANCEDSTATUSCODES | ||
+ | <- 250 PIPELINING | ||
+ | -> MAIL FROM:< | ||
+ | <- 250 2.1.0 OK | ||
+ | -> RCPT TO:< | ||
+ | <- 250 2.1.5 OK | ||
+ | -> DATA | ||
+ | <- 354 OK | ||
+ | -> Date: Tue, 04 Nov 2014 19:17:15 +0100 | ||
+ | -> To: django@nausch.org | ||
+ | -> From: michael@nausch.org | ||
+ | -> Subject: test Tue, 04 Nov 2014 19:17:15 +0100 | ||
+ | -> X-Mailer: swaks v20130209.0 jetmore.org/ | ||
+ | -> X-Test: test email | ||
+ | | ||
+ | -> This is a test mailing | ||
+ | | ||
+ | -> . | ||
+ | <- 250 2.0.0 < | ||
+ | -> QUIT | ||
+ | <- 221 2.0.0 OK | ||
+ | === Connection closed with remote host. | ||
+ | </ | ||
+ | Im Maillog des empfangendem System wird die erfolgreiche Zustellung entsprechend protokolliert. | ||
+ | < | ||
+ | Nov 4 19:17:15 vml000077 dovecot: lmtp(django@nausch.org): | ||
+ | Nov 4 19:17:15 vml000077 dovecot: lmtp(django@nausch.org): | ||
+ | Nov 4 19:17:15 vml000077 dovecot: lmtp(6588): Disconnect from 10.0.0.87: Successful quit | ||
+ | </ | ||
+ | |||
+ | ==== erfolgreiche Einlieferung via SMTP beim frontend-System ==== | ||
+ | Als nächstes liefern wir eine Nachricht bei unserem SMTP-Server auf Port **25** ein. Auch hier benutzen wir als Hilfsmittel **swaks**. | ||
+ | # swaks --to django@nausch.org --from michael@nausch.org --header-X-Test "test email" --server 10.0.0.87 --protocol SMTP | ||
+ | < | ||
+ | === Connected to 10.0.0.87. | ||
+ | <- 220 mx01.nausch.org ESMTP Postfix | ||
+ | -> HELO pml010048 | ||
+ | <- 250 mx01.nausch.org | ||
+ | -> MAIL FROM:< | ||
+ | <- 250 2.1.0 Ok | ||
+ | -> RCPT TO:< | ||
+ | <- 250 2.1.5 Ok | ||
+ | -> DATA | ||
+ | <- 354 End data with < | ||
+ | -> Date: Tue, 04 Nov 2014 20:53:54 +0100 | ||
+ | -> To: django@nausch.org | ||
+ | -> From: michael@nausch.org | ||
+ | -> Subject: test Tue, 04 Nov 2014 20:53:54 +0100 | ||
+ | -> X-Mailer: swaks v20130209.0 jetmore.org/ | ||
+ | -> X-Test: test email | ||
+ | | ||
+ | -> This is a test mailing | ||
+ | | ||
+ | -> . | ||
+ | <- 250 2.0.0 Ok: queued as 904BBC00088 | ||
+ | -> QUIT | ||
+ | <- 221 2.0.0 Bye | ||
+ | === Connection closed with remote host. | ||
+ | </ | ||
+ | Im Maillog werden nun mehrere Dinge dokumentiert. | ||
+ | |||
+ | | ||
+ | Der Client **vml000020.dmz.nausch.org** mit der IP **10.0.0.20** hat sich mit dem SMTP-Server verbunden. | ||
+ | | ||
+ | Das Cleanup-Modul hat die Message-ID **< | ||
+ | | ||
+ | | ||
+ | | ||
+ | Der verify-Daemon erstellt eine Test-Nachricht und schickt diese an den Zielserver. Da die Adresse zustellbar ** status=deliverable (250 2.1.5 ok)** ist, entfernt der Queue-Manager die Testnachricht wieder. | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | Die Nachricht wird dem einliefernden Mailclient abgenommen. | ||
+ | | ||
+ | | ||
+ | Die Nachricht wurde erfolgreich an das backend-System übergeben. | ||
+ | |||
+ | ==== Zustellversuch an nicht existierenden Empfänger via SMTP beim frontend-System ==== | ||
+ | Als nächstes versuchen wir eine Nachricht an einen nicht existierenden Empfänger zu schicken. | ||
+ | $ swaks --to paeddrigg@nausch.org --from michael@nausch.org --header-X-Test "test email" --server 10.0.0.87 --protocol SMTP | ||
+ | < | ||
+ | === Connected to 10.0.0.87. | ||
+ | <- 220 mx01.nausch.org ESMTP Postfix | ||
+ | -> HELO pml010048 | ||
+ | <- 250 mx01.nausch.org | ||
+ | -> MAIL FROM:< | ||
+ | <- 250 2.1.0 Ok | ||
+ | -> RCPT TO:< | ||
+ | <** 450 4.1.1 < | ||
+ | -> QUIT | ||
+ | <- 221 2.0.0 Bye | ||
+ | === Connection closed with remote host. | ||
+ | </ | ||
+ | Die Annahme der Nachricht wurde verweigert, da die Adresse nicht überprüft werden konnte. | ||
+ | Im Maillog sieht man nun sehr schön wieder den Versuch die Adresse zu überprüfen. | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | Hier wurde nun der Status **status=undeliverable** gemeldet, da der Empfänger nicht erreichbar war. | ||
+ | ==== verify-Datenbank ==== | ||
+ | Werfen wir nun einen Blick in die verify-Datenbank von Postfix können wir für beide Beispiele die entsprechenden Einträge finden. | ||
+ | # postmap -s btree:/ | ||
+ | | ||
+ | | ||
+ | | ||
+ | ====== Links ====== | ||
+ | * **⇐ [[centos: | ||
+ | * **⇒ [[centos: | ||
+ | * **[[centos: | ||
+ | * **[[wiki: | ||
+ | * **[[http:// | ||
- | FIXME | ||