Changes for page Mailversand von selbst programmierten Scripten oder selbst installierter Spezialsoftware
Last modified by Christoph Bußenius on 2025/02/05 12:20
From version 12.1
edited by Christoph Bußenius
on 2024/12/09 11:00
on 2024/12/09 11:00
Change comment:
There is no comment for this version
To version 13.1
edited by Christoph Bußenius
on 2024/12/09 11:28
on 2024/12/09 11:28
Change comment:
There is no comment for this version
Summary
-
Page properties (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -52,3 +52,42 @@ 52 52 ** Der Header "Date" muss auf ein syntaktisch korrektes Datum gesetzt werden, es soll nicht in der Vergangenheit oder Zukunft liegen. Verwenden Sie Libraries o.ä., um den Header zu erzeugen. 53 53 ** Der Header Message-ID sollte auch von einer Library erzeugt werden. 54 54 * Implementieren Sie Fehlerbehandlung, wenn der SMTP-Server oder das sendmail-Command einen Fehler liefert. 55 + 56 +== Beispiel-Code in Python == 57 + 58 +##from email.mime.text import MIMEText 59 +import email.utils 60 +import email.charset 61 +import smtplib## 62 + 63 + 64 +##body = 'Dies wäre eine Test-Message, sie hätte sogar Umlaute.' 65 +subject = 'Bloß ein Test' 66 +sender_name = 'Vorname Nachname' 67 +sender_addr = 'nobody@cit.tum.de' 68 +recipient = 'busseniu@cit.tum.de'## 69 + 70 + 71 +##charset = email.charset.Charset('utf-8') 72 +# Quoted Printable: So bleibt der Quelltext der E-Mail menschenlesbar. 73 +charset.body_encoding = email.charset.QP## 74 + 75 +##mime = MIMEText(body, _charset=charset) 76 +mime['From'] = email.utils.formataddr((sender_name, sender_addr)) # Ergibt Vorname Nachname <addr> 77 +mime['To'] = recipient 78 +mime['Subject'] = subject 79 +mime['Date'] = email.utils.formatdate(localtime=True) 80 +mime['Message-ID'] = email.utils.make_msgid()## 81 + 82 +##try: 83 + smtp = smtplib.SMTP( 84 + host='localhost', 85 + port=25) 86 + smtp.send_message( 87 + mime, 88 + from_addr=sender_addr, # Envelope Sender 89 + to_addrs=[recipient]) 90 + smtp.quit() 91 +except (smtplib.SMTPException, ConnectionRefusedError): 92 + print('Es gab einen SMTP-Fehler')## 93 +