0

嘿,我有一个运行 python CGI 脚本的 Windows 服务器,但我在使用 smtplib 时遇到了一些问题。服务器正在运行 python 2.1(不幸的是,我无法升级它)。无论如何,我有以下代码:

    session = smtplib.SMTP("smtp-auth.ourhosting.com", 587)
    session.login(smtpuser, smtppass)

它给了我这个错误:

exceptions.AttributeError:SMTP 实例没有属性“登录”:  

我假设这是因为 login() 方法是在 python 2.1 之后添加的。那么我该如何解决呢?

我必须通过将文件上传到与 cgi 脚本相同的目录来添加模块(尽管我相信 smtplib 是用 C 编写的并且需要编译,我们无法在此服务器上进行编译)

或者

以 python 2.1 中的 libsmtp 所期望的任何方式进行操作

非常感谢!

4

2 回答 2

4

login() 是在 Python 2.2 中引入的,对你来说很不幸!在 Python 2.1 自己的 smtplib 中执行此操作的唯一方法是手动发出 AUTH 命令,这不会很有趣。

我还没有完全测试它,但如果你按照你的描述复制它,Python 2.2 的 smtplib 似乎应该或多或少地在 2.1 上工作(也许称之为 smtplib2.py)。它只是一个 Python 模块,不需要 C 编译。但是,您至少还需要从 2.2 的库中复制它所依赖的 hmac.py 库。如果您使用更高版本的 Python 来窃取它,也开始需要电子邮件包,这可能需要更多的工作。

于 2008-11-03T18:01:51.757 回答
0

以 python 2.1 中的 libsmtp 所期望的任何方式进行操作

于 2008-11-03T17:10:47.647 回答