0

我正在使用这个 Python 脚本以编程方式测试发送电子邮件:

from mailer import Mailer
from mailer import Message

message = Message(From="myname@gmail.com",
              To="myname@aol.com",
              charset="utf-8")
 message.Subject = "An HTML Email"
message.Html = """This email uses <strong>HTML</strong>!"""
message.Body = """This is alternate text."""

sender = Mailer('smtp.gmail.com')
sender.send(message)

我相信我已经安装了 Mailer-0.7(但我该如何检查?),并且在这台 iMac 上运行 Python 2.7。问题是我收到此错误消息:

Traceback (most recent call last):
File "email.py", line 1, in <module>
from mailer import Mailer
File "/Users/jeremycondie/Desktop/mailer.py", line 31, in <module>
import smtplib
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/smtplib.py", line 46, in <module>
import email.utils
File "/Users/jeremycondie/Desktop/email.py", line 1, in <module>
from mailer import Mailer
ImportError: cannot import name Mailer
4

1 回答 1

3

The from mailer import X statement is importing from /Users/jeremycondie/Desktop/mailer.py, try renaming that file.

Edit: To get Mailer's version (after fixing the filename):

import mailer
print mailer.__version__

Edit 2: If in the future you run into a similar situation, first check the module location and its attributes to discard that a local file is shadowing a module:

print mailer.__file__
print dir(mailer)
于 2012-06-05T18:43:09.130 回答