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
Change comment: There is no comment for this version
To version 13.1
edited by Christoph Bußenius
on 2024/12/09 11:28
Change comment: There is no comment for this version

Summary

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 +