Warum kommt die ganze Zeit diese Fehlermeldung?
Hallo ich habe probiert eine E-Mail mi Python (3.9.6) zu senden aber bei mir kam die ganze Zeit bei diesem Skript eine Fehlermeldung.
import smtplib
from email.mime.multipart import MIMEMultipart
from email.MIMEText import MIMEText
senderEmail = "email@gmx.de@gmx.de"
empfangsEmail = "email@gmx.de"
msg = MIMEMultipart()
msg['From'] = senderEmail
msg['To'] = empfangsEmail
msg['Subject'] = "Test"
emailText = "< Test"
msg.attach(MIMEText(emailText, 'html'))
server = smtplib.SMTP('email@gmx.de', 587)
server.starttls()
server.login(senderEmail, "passwort")
text = msg.as_string()
server.sendmail(senderEmail, empfangsEmail, text)
server.quit()
Fehlermeldung:
from email.MIMEText import MIMEText
ModuleNotFoundError: No module named 'email.MIMEText'
2 Antworten
Von gutefrage auf Grund seines Wissens auf einem Fachgebiet ausgezeichneter Nutzer
Computer
emailText = "< Test"
sieht mir komisch aus.
In vielen Programmiersprachen muss man das escapen.
Also etwa " /< Test" schreiben.
Bitte schlage nach, ob das bei Dir der Fall ist und wie genau es geschrieben werden muss. D.h. ein Problem stellt oft dar, wenn ein nicht-ASCII Zeichen innerhalt eines Strings steht.
Python selbst spreche ich leider nicht.
Woher ich das weiß:Berufserfahrung – ich arbeite schon sehr lange im EDV Bereich, viele Sparten
Ändere
from email.MIMEText import MIMEText
zu
from email.mime.text import MIMEText
Jetzt kommt aber die Fehlermeldung:
Traceback (most recent call last):
File "C:/Users/####/Documents/rhhioafrdsbgjnlövhjhmcgcdyf.py", line 15, in <module>
server = smtplib.SMTP('#############', 587)
File "C:\Users\###\AppData\Local\Programs\Python\Python39\lib\smtplib.py", line 255, in __init__
(code, msg) = self.connect(host, port)
File "C:\Users\phili\AppData\Local\Programs\Python\Python39\lib\smtplib.py", line 341, in connect
self.sock = self._get_socket(host, port, self.timeout)
File "C:\Users\####\AppData\Local\Programs\Python\Python39\lib\smtplib.py", line 312, in _get_socket
return socket.create_connection((host, port), timeout,
File "C:\Users\#####\AppData\Local\Programs\Python\Python39\lib\socket.py", line 822, in create_connection
for res in getaddrinfo(host, port, 0, SOCK_STREAM):
File "C:\Users\######\AppData\Local\Programs\Python\Python39\lib\socket.py", line 953, in getaddrinfo
for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
socket.gaierror: [Errno 11003] getaddrinfo failed
andie00
08.08.2021, 21:22
@Civjik3
Dieselbe oder eine andere Fehlermeldung?
Hast du POP3 und IMAP Zugriff in deinem Gmx-Konto erlaubt?
Bei mir funktioniert folgender Code einwandfrei:
import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
senderEmail = "EMAIL@gmx.net"
empfangsEmail = "EMAIL@gmx.net"
msg = MIMEMultipart()
msg['From'] = senderEmail
msg['To'] = empfangsEmail
msg['Subject'] = "Test"
emailText = "< Test"
msg.attach(MIMEText(emailText, 'html'))
server = smtplib.SMTP('mail.gmx.de', 587)
server.starttls()
server.login(senderEmail, "PASSWORT")
text = msg.as_string()
server.sendmail(senderEmail, empfangsEmail, text)
server.quit()
EMAIL und PASSWORT musst du an deine Gegebenheiten anpassen.
Auch wenn das "<" weg ist kommt die Fehlermeldung noch