2017-08-01 49 views
3

我想发送电子邮件与python和获取错误。这里是我的代码:发送电子邮件与python和错误消息不断弹出

import smtplib 

server = smtplib.SMTP('smtp.gmail.com', 465) 


server.login("[email protected]", "pass") 


msg = "Hello!" # The /n separates the message from the headers 
server.sendmail("[email protected]", "[email protected]", msg) 
print("Sent") 

这是我不断收到

Traceback (most recent call last): 
    File "C:/Users/Kevin/Desktop/Python/email65.py", line 1, in <module> 
    import smtplib 
    File "C:\Users\Kevin\AppData\Local\Programs\Python\Python36-32\lib\smtplib.py", line 47, in <module> 
    import email.utils 
    File "C:/Users/Kevin/Desktop/Python\email.py", line 1 
    import smtplib from email.mime.multipart 
        ^
SyntaxError: invalid syntax` 

什么我做错了什么错误?

+0

你是否分享正确的来源? 'import smtplib'是有效的导入,它不应该抛出错误'import smtplib from email.mime.multipart'...尝试从python解释器导入它来验证。 Ref https://docs.python.org/3/library/smtplib.html# – Rishi

回答

2

email.py,进口应该是:

from email.mime.multipart import smtplib 

或者可能:

import smtplib 
from email.mime.multipart import [...] 
+0

这不起作用。 >>>从email.mime.multipart进口的smtplib 回溯(最近通话最后一个): 文件“”,1号线,在 导入错误:无法导入名称的smtplib – Rishi

+0

我的猜测是,其余被切断。您可能错过了第一个“导入smtplib”后的回车。尝试将上面的问题粘贴到您的问题中。 – Alexander

1

你的 '进口的smtplib' 说法是正确的。

请仔细检查您共享的源代码,因为我没有看到从源代码中的email.mime.multipart'any进口smtplib。

在Python中实现电子邮件发送逻辑的典型方法可以找到here。和库文档here

1

你有一个脚本C:/Users/Kevin/Desktop/Python\email.py,它暗示来自stdlib的email包。重命名您的脚本。

将来要避免已经被stdlib采用的脚本名称。尤其要避免test.py! :-)