{"id":2414,"date":"2014-04-20T15:25:26","date_gmt":"2014-04-20T13:25:26","guid":{"rendered":"http:\/\/speefak.spdns.de\/oss_lifestyle\/?p=2414"},"modified":"2024-06-02T14:20:22","modified_gmt":"2024-06-02T12:20:22","slug":"postfix-email-verarbeitung","status":"publish","type":"post","link":"https:\/\/speefak.spdns.de\/oss_lifestyle\/postfix-email-verarbeitung\/","title":{"rendered":"Postfix Email Verarbeitung"},"content":{"rendered":"<div>\n<h2>Grundlegender Ablauf der Postfix E-Mail Verarbeitung<\/h2>\n<p>In der Datei <strong>&lt;\/etc\/mailname&gt;<\/strong> wird festgelegt an welche Domains lokale Nachrichten der Systemuser (root, fail2ban, www-data) gesendet werden. Eine Nachricht von fail2ban z. B. (beim Starten des Dienstes) setzt sich dann aus dem Usernamen\/Dienstnamen <strong>&lt;fail2ban&gt;<\/strong> und der in <strong>&lt;\/etc\/mailname&gt;<\/strong> festgelegten Domain <strong>&lt;blackbox&gt;<\/strong> zusammen. Die Mail w\u00fcrde dann an <strong>&lt;fail2ban@blackbox&gt;<\/strong> verschickt.<\/p>\n<p>Postfix nimmt die E-Mail an und schaut auf Basis des <strong>&lt;mydestination&gt;<\/strong> Eintrags in der <strong>&lt;\/etc\/postfix\/main.cf&gt;<\/strong>, ob die E-Mail lokal gespeichert oder an eine weitere Adresse weitergeleitet wird. Ist der Wert\/Eintrag hinter <strong>&lt;mydestination&gt;<\/strong> dann z.B. <strong>&lt;blackbox&gt;<\/strong>, hei\u00dft das f\u00fcr Postfix, dass alle E-Mails an die Domain <strong>&lt;XXXXXX@blackbox&gt; <\/strong> lokal gespeichert werden und <span style=\"text-decoration: underline;\">NICHT<\/span> weitergeleitet werden. Steht in <strong>&lt;mydestination&gt; <\/strong><span style=\"text-decoration: underline;\">NICHT<\/span> <strong>&lt;blackbox&gt;<\/strong> hei\u00dft das f\u00fcr Postfix, die Mail wird extern weitergeleitet, da die Domain blackbox nicht lokal verarbeitet wird. Das heist alle Domains, die in <strong>&lt;mydestination = DOMAIN&gt;<\/strong> gelistet sind, werden NICHT weitergeleitet, sondern lokal unter <strong>&lt;\/var\/mail\/username\/&gt;<\/strong> gespeichert.<\/p>\n<p>Nachdem Postfix anhand der o.g. Parameter entschieden hat, ob die E-Mail lokal unter <strong>&lt;\/var\/mail\/username\/&gt;<\/strong> gespeichert, oder im o.g. Fall an eine externe Adresse weitergeleitet wird, pr\u00fcft Postfix im Fall einer Weiterleitung, ob in der Datei <strong>&lt;\/etc\/postfix\/generic&gt;<\/strong> f\u00fcr die Adresse <strong>&lt;fail2ban@blackbox&gt;<\/strong> eine Substitutionsadresse (z. B. <strong>&lt;get-info@gmx.net&gt;<\/strong>) vorliegt und tauscht diese dann, wenn es zutrifft dementsprechend aus (aus <strong>&lt;fail2ban@blackbox&gt;<\/strong> wird dann <strong>&lt;get-info@gmx.net&gt;<\/strong>). Danach schaut Postfix in der Datei <strong>&lt;\/etc\/postfix\/sender_canonical&gt;<\/strong> welche Adresse f\u00fcr den Relay definiert wurde (z.B. <strong>&lt;send-info@gmx.net&gt;<\/strong>) und sendet die Mail dann mit den in den <strong>&lt;\/etc\/postfix\/sasl_password&gt;<\/strong> definierten Adressen (smtp username:passwort z. B.\u00a0<strong>&lt;mail.gmx.net send-info@gmx.net: PASSWORD&gt;<\/strong>) mit dem Absender <strong>&lt;send-info@gmx.net&gt;<\/strong> und dem Empf\u00e4nger <strong>&lt;get-info@gmx.net&gt;<\/strong> an den Relay Server <strong>&lt;mail.gmx.net&gt;<\/strong>.<\/p>\n<p>Voraussetzung f\u00fcr die o.g. genannte E-Mail Verarbeitung sind folgende Eintr\u00e4ge in der Datei <strong>&lt;\/etc\/postfix\/main.cf&gt; <\/strong>sowie die Erstellung einer Postfixdatenbank aus den Dateien mit dem Befehl <strong>&lt;cd \/etc\/postfix &amp;&amp; sudo postmap \/etc\/postfix\/generic&gt; <\/strong>(z.B. f\u00fcr die Datenbank generic.db)<\/p>\n<ul>\n<li>smtp_sasl_password_maps = hash:\/etc\/postfix\/sasl_password<\/li>\n<li>sender_canonical_maps = hash:\/etc\/postfix\/sender_canonical<\/li>\n<li>smtp_generic_maps = hash:\/etc\/postfix\/generic<\/li>\n<li>smtp_tls_policy_maps = hash:\/etc\/postfix\/tls_policy ( variiert bei verschiedenen Mail Anbietern )\u00a0\u00a0\u00a0 \/\/ f\u00fcr Debian 9 obsolet<\/li>\n<\/ul>\n<hr \/>\n<h2>Kurzinformation zu den Postfixdatenbank Dateien<\/h2>\n<p><strong>\/etc\/postfix\/sasl_passwd<\/strong><\/p>\n<ul style=\"padding-left: 30px;\">\n<li>Zugangsdaten f\u00fcr den <a href=\"https:\/\/de.wikipedia.org\/wiki\/SMTP\" target=\"_blank\" rel=\"noopener noreferrer\">SMTP<\/a> Mailversand<\/li>\n<li>\n<pre class=\"theme:dark-terminal height-set:true height:300 lang:sh decode:true\">mail.gmx.net send-info@gmx.net:PASSWORT<\/pre>\n<\/li>\n<\/ul>\n<p><strong>\/etc\/postfix\/sender_canonical<\/strong><\/p>\n<ul style=\"padding-left: 30px;\">\n<li>Absenderadressen der Postfix Emailuser f\u00fcr den Mailversand<\/li>\n<li>\n<pre class=\"theme:dark-terminal height-set:true height:300 lang:sh decode:true\">root send-info@gmx.net\r\nwww-data send-info@gmx.net\r\nspeefak send-info@gmx.net\r\nfail2ban send-info@gmx.net<\/pre>\n<\/li>\n<\/ul>\n<p><strong>\/etc\/postfix\/generic<\/strong><\/p>\n<ul style=\"padding-left: 30px;\">\n<li>Empf\u00e4ngeradresse (Substitutionsadresse)\u00a0 der Postfix Emailuser f\u00fcr den Mailversand<\/li>\n<li>\n<pre class=\"theme:dark-terminal height-set:true height:300 lang:sh decode:true\">root get-info@gmx.net\r\nwww-data get-info@gmx.net\r\nspeefak get-info@gmx.net\r\nfail2ban get-info@gmx.net<\/pre>\n<\/li>\n<\/ul>\n<\/div>\n<p>Nach jeder \u00c4nderung der o.g. Dateien muss mit Hilfe des postmap Befehls eine f\u00fcr postmap lesbare Datei erzeugt werden :<\/p>\n<pre class=\"theme:dark-terminal lang:sh decode:true \">sudo postmap   \/etc\/postfix\/generic\r\nsudo postmap   \/etc\/postfix\/sasl_password\r\nsudo postmap   \/etc\/postfix\/sender_canonical\r\nsudo postmap   \/etc\/postfix\/tls_policy<\/pre>\n<div>\n<hr \/>\n<h2>Beispielkonfiguration der \/etc\/postfix\/main.cf<\/h2>\n<\/div>\n<pre class=\"theme:dark-terminal height-set:true height:300 lang:sh decode:true\"># See \/usr\/share\/postfix\/main.cf.dist for a commented, more complete version\r\n\r\n\r\n# Debian specific: Specifying a file name will cause the first\r\n# line of that file to be used as the name. The Debian default\r\n# is \/etc\/mailname.\r\n#myorigin = \/etc\/mailname\r\n\r\nsmtpd_banner = $myhostname ESMTP $mail_name (Ubuntu)\r\nbiff = no\r\n\r\n# appending .domain is the MUA's job.\r\nappend_dot_mydomain = no\r\n\r\n# Uncomment the next line to generate \"delayed mail\" warnings\r\n#delay_warning_time = 4h\r\n\r\nreadme_directory = no\r\n\r\n# TLS parameters\r\nsmtpd_tls_cert_file=\/etc\/ssl\/certs\/ssl-cert-snakeoil.pem\r\nsmtpd_tls_key_file=\/etc\/ssl\/private\/ssl-cert-snakeoil.key\r\nsmtpd_use_tls=yes\r\nsmtpd_tls_session_cache_database = btree:${data_directory}\/smtpd_scache\r\nsmtp_tls_session_cache_database = btree:${data_directory}\/smtp_scache\r\n\r\n# See \/usr\/share\/doc\/postfix\/TLS_README.gz in the postfix-doc package for\r\n# information on enabling SSL in the smtp client.\r\n\r\n#smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination\r\nmyhostname = blackbox\r\nalias_maps = hash:\/etc\/aliases\r\nalias_database = hash:\/etc\/aliases\r\nmyorigin = \/etc\/mailname\r\nmydestination = localhost \r\nrelayhost = mail.gmx.net:587\r\nmynetworks = 127.0.0.0\/8 [::ffff:127.0.0.0]\/104 [::1]\/128\r\nmailbox_size_limit = 0\r\nrecipient_delimiter = +\r\ninet_interfaces = loopback-only\r\n\r\n\r\nsmtp_sasl_auth_enable = yes\r\n# noplaintext weglassen, wenn Passw\u00f6rter im Klartext \u00fcbertragen werden m\u00fcssen:\r\n# (nicht empfohlen, nur wenn's anders nicht funktioniert)\r\nsmtp_sasl_security_options = noanonymous\r\n\r\n#postfix EmailServiceProvider relayaddress password mapping ( define password for senderaddress )\r\n#define the valid sender address which is used for sending emails via ESP like GMX\r\nsmtp_sasl_password_maps = hash:\/etc\/postfix\/sasl_password\r\n\r\n#systemuser mapping to sender address \r\n#define direcly an email address for system user. Addressmapping systemuser and \/etc\/mailname ( e.g. root@gmx.net ) via generic is not needed. \r\nsender_canonical_maps = hash:\/etc\/postfix\/sender_canonical\r\n\r\n#systemuser emailaddress to senderemailaddress mapping ( mapps systemuseremailsaddresses to senderemailaddresses ) \r\n#systemuser emailaddress is defind by systemuser e.g. root and system domain ( listed in \/etc\/mailname e.g. gmx.de ), \r\n#The systemuser email address is now root@gmx.net and can be mapped from root@gmx.net to log-info@gmx.net via generic file \r\nsmtp_generic_maps = hash:\/etc\/postfix\/generic \r\n\r\n#external ESP tls parameter\r\nsmtp_tls_policy_maps = hash:\/etc\/postfix\/tls_policy\r\n\r\n\r\n#smtp_tls_loglevel = 2\r\n#smtpd_tls_loglevel = 2<\/pre>\n<hr \/>\n<p><img loading=\"lazy\" decoding=\"async\" class=\" wp-image-2821 alignleft\" src=\"https:\/\/speefak.spdns.de\/oss_lifestyle\/wp-content\/uploads\/2014\/08\/CC_BY_NC_SA.png\" alt=\"CC_BY_NC_SA\" width=\"65\" height=\"23\" \/><span style=\"font-size: 10pt;\">by Speefak |\u00a0 <\/span><span style=\"font-size: 10pt;\"> <span style=\"font-size: 8pt;\"><a href=\"http:\/\/www.elektronik-kompendium.de\/sites\/net\/0903081.htm\" target=\"_blank\" rel=\"noopener noreferrer\">elektronik-kompendium.de<\/a>\u00a0| <a href=\"http:\/\/www.dirk-hagedorn.de\/?page_id=789\" target=\"_blank\" rel=\"noopener noreferrer\">dirk-hagedorn.de<\/a>\u00a0| <a href=\"https:\/\/thomas-leister.de\/internet\/mailserver-ubuntu-server-dovecot-postfix-mysql\/\" target=\"_blank\" rel=\"noopener noreferrer\">thomas-leister.de<\/a>\u00a0| <a href=\"http:\/\/www.gtkdb.de\/index_36_2312.html\" target=\"_blank\" rel=\"noopener noreferrer\">gtkdb.de<\/a>\u00a0| <a href=\"http:\/\/www.mailenable.com\/kb\/Content\/Article.asp?ID=me020032\" target=\"_blank\" rel=\"noopener noreferrer\">mailenable.com<\/a>\u00a0| <a href=\"http:\/\/www.heinlein-support.de\/blog\/security\/perfect-forward-secrecy-pfs-fur-postfix-und-dovecot\/\" target=\"_blank\" rel=\"noopener noreferrer\">heinlein-support.de<\/a><\/span><\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Grundlegender Ablauf der Postfix E-Mail Verarbeitung In der Datei &lt;\/etc\/mailname&gt; wird festgelegt an welche Domains lokale Nachrichten der Systemuser (root, fail2ban, www-data) gesendet werden. Eine Nachricht von fail2ban z. B. (beim Starten des Dienstes) setzt sich dann aus dem Usernamen\/Dienstnamen &lt;fail2ban&gt; und der in &lt;\/etc\/mailname&gt; festgelegten Domain &lt;blackbox&gt; zusammen. Die Mail w\u00fcrde dann an &lt;fail2ban@blackbox&gt; [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[8,7,24,26,54],"tags":[],"class_list":["post-2414","post","type-post","status-publish","format-standard","hentry","category-anleitungen","category-grundlagen","category-it-syntax","category-linux","category-shell-programme"],"rttpg_featured_image_url":null,"rttpg_author":{"display_name":"speefak","author_link":"https:\/\/speefak.spdns.de\/oss_lifestyle\/author\/speefak_oss\/"},"rttpg_comment":0,"rttpg_category":"<a href=\"https:\/\/speefak.spdns.de\/oss_lifestyle\/category\/anleitungen\/\" rel=\"category tag\">Anleitungen<\/a> <a href=\"https:\/\/speefak.spdns.de\/oss_lifestyle\/category\/grundlagen\/\" rel=\"category tag\">Grundlagen<\/a> <a href=\"https:\/\/speefak.spdns.de\/oss_lifestyle\/category\/it-syntax\/\" rel=\"category tag\">IT Syntax<\/a> <a href=\"https:\/\/speefak.spdns.de\/oss_lifestyle\/category\/linux\/\" rel=\"category tag\">Linux<\/a> <a href=\"https:\/\/speefak.spdns.de\/oss_lifestyle\/category\/shell-programme\/\" rel=\"category tag\">Shell<\/a>","rttpg_excerpt":"Grundlegender Ablauf der Postfix E-Mail Verarbeitung In der Datei &lt;\/etc\/mailname&gt; wird festgelegt an welche Domains lokale Nachrichten der Systemuser (root, fail2ban, www-data) gesendet werden. Eine Nachricht von fail2ban z. B. (beim Starten des Dienstes) setzt sich dann aus dem Usernamen\/Dienstnamen &lt;fail2ban&gt; und der in &lt;\/etc\/mailname&gt; festgelegten Domain &lt;blackbox&gt; zusammen. Die Mail w\u00fcrde dann an &lt;fail2ban@blackbox&gt;&hellip;","_links":{"self":[{"href":"https:\/\/speefak.spdns.de\/oss_lifestyle\/wp-json\/wp\/v2\/posts\/2414","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/speefak.spdns.de\/oss_lifestyle\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/speefak.spdns.de\/oss_lifestyle\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/speefak.spdns.de\/oss_lifestyle\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/speefak.spdns.de\/oss_lifestyle\/wp-json\/wp\/v2\/comments?post=2414"}],"version-history":[{"count":0,"href":"https:\/\/speefak.spdns.de\/oss_lifestyle\/wp-json\/wp\/v2\/posts\/2414\/revisions"}],"wp:attachment":[{"href":"https:\/\/speefak.spdns.de\/oss_lifestyle\/wp-json\/wp\/v2\/media?parent=2414"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/speefak.spdns.de\/oss_lifestyle\/wp-json\/wp\/v2\/categories?post=2414"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/speefak.spdns.de\/oss_lifestyle\/wp-json\/wp\/v2\/tags?post=2414"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}