smtplib starttls bricht ab - fehlende Datei?
Verfasst: Mittwoch 10. März 2021, 18:10
Hallo zusammen,
ich habe ein kleines Programm für Python3 geschrieben, mit dem ich die smtplib ausprobieren wollte.
aus Diskretionsgründen ist manches natürlich aus-ge-ixt
Wie man an der Ausgabe dann sieht, läuft alles gut bis smtpObj.starttls aufgerufen wird, hier scheint eine Datei nicht gefunden zu werden, und ich weiß nicht warum. Googeln hat nicht wirklich weitergeholfen, darum versuche ich es jetzt mal hier...
Hier also nun der Code:
import smtplib
betreff = 'Testmail'
emailtext = 'Dies ist der Text der Testmail'
print('1')
smtpObj = smtplib.SMTP('mx.freenet.de', 587)
print('2')
print(smtpObj.ehlo())
print('3')
smtpObj.starttls('xxx@freenet.de', 'xxx')
print('4')
print(smtpObj.sendmail('xxx@freenet.de', 'xxx@freenet.de', betreff + '\n' + emailtext))
print('5')
print(smtpObj.quit())
Ausgabe ist dann wie folgt:
/home/.../xxx.py
1
2
(250, b'sub4.freenet.de Hello p57a43350.dip0.t-ipconnect.de [xx.xxx.xx.xx]\nSIZE 209715200\n8BITMIME\nPIPELINING\nAUTH LOGIN PLAIN CRAM-MD5\nSTARTTLS\nHELP')
3
/home/.../xxx.py:27: DeprecationWarning: keyfile and certfile are deprecated, use a custom context instead
smtpObj.starttls('xxx@freenet.de', 'xxx')
Traceback (most recent call last):
File "/home/.../xxx.py", line 27, in <module>
smtpObj.starttls('xxx@freenet.de', 'xxx')
File "/usr/lib64/python3.8/smtplib.py", line 770, in starttls
context = ssl._create_stdlib_context(certfile=certfile,
File "/usr/lib64/python3.8/ssl.py", line 787, in _create_unverified_context
context.load_cert_chain(certfile, keyfile)
FileNotFoundError: [Errno 2] No such file or directory
Process finished with exit code 1
Ich hoffe mir kann da jemand weiterhelfen
Achso, ich benutze Fedora32 mit PyCharm - falls das irgendwie relevant werden sollte...
LG
ich habe ein kleines Programm für Python3 geschrieben, mit dem ich die smtplib ausprobieren wollte.
aus Diskretionsgründen ist manches natürlich aus-ge-ixt

Wie man an der Ausgabe dann sieht, läuft alles gut bis smtpObj.starttls aufgerufen wird, hier scheint eine Datei nicht gefunden zu werden, und ich weiß nicht warum. Googeln hat nicht wirklich weitergeholfen, darum versuche ich es jetzt mal hier...
Hier also nun der Code:
import smtplib
betreff = 'Testmail'
emailtext = 'Dies ist der Text der Testmail'
print('1')
smtpObj = smtplib.SMTP('mx.freenet.de', 587)
print('2')
print(smtpObj.ehlo())
print('3')
smtpObj.starttls('xxx@freenet.de', 'xxx')
print('4')
print(smtpObj.sendmail('xxx@freenet.de', 'xxx@freenet.de', betreff + '\n' + emailtext))
print('5')
print(smtpObj.quit())
Ausgabe ist dann wie folgt:
/home/.../xxx.py
1
2
(250, b'sub4.freenet.de Hello p57a43350.dip0.t-ipconnect.de [xx.xxx.xx.xx]\nSIZE 209715200\n8BITMIME\nPIPELINING\nAUTH LOGIN PLAIN CRAM-MD5\nSTARTTLS\nHELP')
3
/home/.../xxx.py:27: DeprecationWarning: keyfile and certfile are deprecated, use a custom context instead
smtpObj.starttls('xxx@freenet.de', 'xxx')
Traceback (most recent call last):
File "/home/.../xxx.py", line 27, in <module>
smtpObj.starttls('xxx@freenet.de', 'xxx')
File "/usr/lib64/python3.8/smtplib.py", line 770, in starttls
context = ssl._create_stdlib_context(certfile=certfile,
File "/usr/lib64/python3.8/ssl.py", line 787, in _create_unverified_context
context.load_cert_chain(certfile, keyfile)
FileNotFoundError: [Errno 2] No such file or directory
Process finished with exit code 1
Ich hoffe mir kann da jemand weiterhelfen

Achso, ich benutze Fedora32 mit PyCharm - falls das irgendwie relevant werden sollte...
LG