2017-07-24 5 views
0

Ich versuche, eine wirklich einfache E-Mail in Python 3 mit CodeRunner zu Skript und MacBook Terminal zu starten Und jedes Mal, wenn ich es laufe, tonnenweise Fehler auftauchen. Ich sende die E-Mail mit Yahoo Mail.Python 3 smtplib hat kein Attribut SMTP beim Senden einer E-Mail

Hier ist mein Code:

import smtplib 
SERVER = "localhost" 

FROM = ['[email protected]', 'Password'] 

TO = ["[email protected]"] 

SUBJECT = ["Hello!"] 

TEXT = ["This message was sent with Python's smtplib."] 

# actual message 

message = """\ 
From: %s 
To: %s 
Subject: %s 

%s 
""" % (FROM, ", ".join(TO), SUBJECT, TEXT) 

# Send the mail 

server = smtplib.SMTP('smtp.mail.yahoo.com', 465) 
server.sendmail(FROM, TO, message) 
server.quit() 

Es wirft diese Fehler, die ich nicht zu beheben scheinen kann. Es besagt, dass smtplib kein Attribut SMTP hat.

Jede Hilfe würde sehr geschätzt werden.

+0

Könnten Sie Ihren Code bitte formatieren, indem Sie ihn markieren und Strg + K drücken. – WhatsThePoint

+0

Wie lautet der Name Ihres 'python'-Skripts? ist es 'email.py'? –

+0

Es ist eine Code-Bearbeitung in der Warteschlange, aber es scheint eine weitere Genehmigung zu benötigen. – holdenweb

Antwort

0

Wenn Fehler gemeldet werden, ist es immer besser, das vollständige Traceback zu kopieren und einzufügen, wenn Sie nicht verstehen, was die Fehlermeldung Ihnen sagt. Betrachten Sie die folgende interaktive Sitzung:

Python 3.6.1 |Continuum Analytics, Inc.| (default, May 11 2017, 13:04:09) 
[GCC 4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.57)] on darwin 
Type "help", "copyright", "credits" or "license" for more information. 
>>> import smtplib 
>>> smtplib.SMTP 
<class 'smtplib.SMTP'> 

Wie Sie sehen können, die Bibliothek DOES eindeutig ein SMTP-Attribut hat, so dass die eigentliche Frage lautet: „Was haben Sie zu smtplib getan“? Ohne eine Fehlerrückverfolgung kämpfen wir mit partiellen Informationen.

Fazit: Wenn Sie Hilfe bei der Fehlerbehebung benötigen, ist es am einfachsten, ihnen genau zu sagen, was die Fehler sind. Als ein Neuling in SO verstehe ich, dass es schwierig ist, Dinge wie Code-Formatierung richtig zu machen, aber die Leute sind im Allgemeinen bereit zu helfen (und tatsächlich hat jemand anderes bereits versucht, deinen Code für dich neu zu formatieren).

+0

Danke: Traceback (letzter Aufruf zuletzt): Datei "/Users/max/Library/Containers/com.coderunnerapp.CodeRunner/Data/Library/Application Support/CodeRunner/Debuggers/pdb.crDebugger/pdb_server.py", Zeile 38, im Hauptverzeichnis p._runscript (p.mainpyfile) Datei "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/pdb.py", Zeile 1548, in _runscript –

+0

self.run (Anweisung) Datei "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/bdb.py", Zeile 431, im Lauf Exec (cmd, globals, Einheimische) Datei "", Zeile 1, in Datei "/ Users/max/Python/email 2.py", Zeile 24, in server = smtplib.smtp ('smtp.mail.yah oo.com ', 465) AttributeError: Modul' smtplib 'hat kein Attribut' smtp ' (Pdb) –

0

Ich hatte den gleichen Fehler und der Kommentar der Karothiya löste mein Problem.

Stellen Sie sicher, dass der Name Ihres Skripts nicht email.py oder eine andere Zeichenfolge ist, die identisch mit einem Paket ist, das der Code sucht.

Verwandte Themen