{"id":464,"date":"2021-06-23T13:53:21","date_gmt":"2021-06-23T11:53:21","guid":{"rendered":"https:\/\/www.iot-embedded.de\/iot-2021\/?p=464"},"modified":"2021-06-23T13:53:22","modified_gmt":"2021-06-23T11:53:22","slug":"mails-versenden-mit-python","status":"publish","type":"post","link":"https:\/\/www.iot-embedded.de\/iot-2021\/smart-security\/mails-versenden-mit-python\/","title":{"rendered":"Mails versenden mit Python"},"content":{"rendered":"\n<p>Smart Security verwendet unter anderem den Versand von E-Mails, um seine Kunden vor potenziellen Einbr\u00fcchen zu warnen.<\/p>\n\n\n\n<p>In diesem Blog-Eintrag m\u00f6chten wir euch anhand eines einfachen Beispiels aufzeigen, wie man Mailversand mit Python realisieren kann.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>import smtplib\r\nimport ssl\r\nfrom socket import gaierror\r\nimport os\r\n\r\nport = os.getenv('MAIL_PORT')\r\nsmtp_server = os.getenv('MAIL_SMTP_SERVER')\r\nsender_email = os.getenv('MAIL_FROM')\r\nreceiver_email = os.getenv('MAIL_TO')\r\npassword = os.getenv('MAIL_PWD')\r\nmessage = \"\"\"\\\r\nSubject: Hallo\r\nDiese Nachricht wurde mit Python gesendet.\"\"\"\n\r\ntry:\r\n    context = ssl.create_default_context()\r\n    with smtplib.SMTP(smtp_server, port) as server:\r\n        server.starttls(context=context)\r\n        server.login(sender_email, password)\r\n        server.sendmail(sender_email, receiver_email, message)\r\n    print(\"Gesendet\")\n\r\nexcept (gaierror, ConnectionRefusedError):\r\n    print('Verbindung zum Server fehlgeschlagen. Sind alle Verbindungseinstellungen korrekt?')\r\nexcept smtplib.SMTPServerDisconnected:\r\n    print('Verbindung zum Server fehlgeschlagen. Falscher Nutzer\/Passwort?')\r\nexcept smtplib.SMTPException as e:\r\n    print('SMTP Error: ' + str(e))\r<\/code><\/pre>\n\n\n\n<p>Im ersten Abschnitt werden die Module importiert, welche wir ben\u00f6tigen. Die wichtigsten hierbei sind die smtplib, sowie SSL um TLS nutzen zu k\u00f6nnen. <\/p>\n\n\n\n<p>Der zweite Block setzt alle Variablen, die man ben\u00f6tigt, um erfolgreich eine Mail versenden zu k\u00f6nnen. Hierzu z\u00e4hlen die Adresse + Port des Mailhosts \/ Mailservers, sowie die E-Mail-Adresse und das Passwort, um sich dort einzuloggen. Weiterhin sollte nat\u00fcrlich auch die E-Mail-Adresse des Empf\u00e4ngers, sowie ein Inhalt der Nachricht festgelegt werden.<\/p>\n\n\n\n<p>Der dritte Block (beginnend mit &#8222;try&#8220;) ist f\u00fcr den tats\u00e4chlichen Versand der Mail zust\u00e4ndig. Es wird mittels STARTTLS eine gesicherte Verbindung zum Mailserver aufgebaut. Daraufhin loggt das Skript den User (das sind in dem Fall wir) ein und versendet die E-Mail.<\/p>\n\n\n\n<p>Der letzte Block ist optional und beinhaltet ein wenig Error-Handling. Das hilft uns, etwas aussagekr\u00e4ftigere Fehlermeldungen auszugeben.<\/p>\n\n\n\n<p>Das war&#8217;s auch schon. Viel Spa\u00df beim selbst ausprobieren!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Smart Security verwendet unter anderem den Versand von E-Mails, um seine Kunden vor potenziellen Einbr\u00fcchen zu warnen. In diesem Blog-Eintrag m\u00f6chten wir euch anhand eines einfachen Beispiels aufzeigen, wie man Mailversand mit Python realisieren kann. Im ersten Abschnitt werden die<\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[9],"tags":[],"_links":{"self":[{"href":"https:\/\/www.iot-embedded.de\/iot-2021\/wp-json\/wp\/v2\/posts\/464"}],"collection":[{"href":"https:\/\/www.iot-embedded.de\/iot-2021\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.iot-embedded.de\/iot-2021\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.iot-embedded.de\/iot-2021\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/www.iot-embedded.de\/iot-2021\/wp-json\/wp\/v2\/comments?post=464"}],"version-history":[{"count":1,"href":"https:\/\/www.iot-embedded.de\/iot-2021\/wp-json\/wp\/v2\/posts\/464\/revisions"}],"predecessor-version":[{"id":465,"href":"https:\/\/www.iot-embedded.de\/iot-2021\/wp-json\/wp\/v2\/posts\/464\/revisions\/465"}],"wp:attachment":[{"href":"https:\/\/www.iot-embedded.de\/iot-2021\/wp-json\/wp\/v2\/media?parent=464"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.iot-embedded.de\/iot-2021\/wp-json\/wp\/v2\/categories?post=464"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.iot-embedded.de\/iot-2021\/wp-json\/wp\/v2\/tags?post=464"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}