Python出现错误 `No module named mime.text`。

6

这段代码"应该"可以发送电子邮件。

import smtplib
#SERVER = "localhost"

FROM = 'myEmail@email.com'

TO = ["toEmail@email.com"] # must be a list

SUBJECT = "Hello!"

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

# Prepare actual message

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

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

# Send the mail

server = smtplib.SMTP('myserver')
server.sendmail(FROM, TO, message)
server.quit()

我收到了这个错误信息。
Traceback (most recent call last):
  File "C:\Users\myCpu\Documents\myFiles\python\test wy.py", line 1, in <module>
    import smtplib
  File "C:\Python27\lib\smtplib.py", line 46, in <module>
    import email.utils
  File "C:/Users/myCpu/Documents/myFiles/python\email.py", line 5, in <module>
ImportError: No module named mime.text

使用:

Python 2.7

Windows 7专业版

Gmail (@gmail.com)


有谁能帮我解决这段代码?

2个回答

19

这是我为 Gmail 做的事情。 希望这能解决你的问题。

 from email.mime.text import MIMEText

    def construct_mesage():
      message = MIMEText(message_text)
      message['to'] = to
      message['from'] = sender
      message['subject'] = subject
      return {'raw': base64.urlsafe_b64encode(message.as_string())}

我只需要直接运行这个吗?还是需要其他的东西? - Dat Ha
这会给你一个原始对象,你可以将其发送到服务器。 - Januka samaranyake
我现在明白了:没有名为utils的模块 - Dat Ha
请参考此链接:https://dev59.com/WVwY5IYBdhLWcg3wNFhY - Januka samaranyake
检查消息 - Dat Ha
显示剩余4条评论

8
将名为email.py的文件重命名为其他名称。这可能会破坏您的库中的导入。

这是我得到的内容:server = smtplib.SMTP('myserver') File "C:\Python27\lib\smtplib.py", line 256, in __init__ (code, msg) = self.connect(host, port) File "C:\Python27\lib\smtplib.py", line 316, in connect self.sock = self._get_socket(host, port, self.timeout) File "C:\Python27\lib\smtplib.py", line 291, in _get_socket return socket.create_connection((host, port), timeout) File "C:\Python27\lib\socket.py", line 557, in create_connection for res in getaddrinfo(host, port, 0, SOCK_STREAM): gaierror: [Errno 11004] getaddrinfo 失败 - Dat Ha

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接