python smtplib
-
06-07-2019 - |
题
嘿,我有一个运行python CGI脚本的Windows服务器,我在使用smtplib时遇到了一些麻烦。服务器正在运行python 2.1(遗憾的是我无法升级它)。无论如何,我有以下代码:
<代码> 代码>
session = smtplib.SMTP("smtp-auth.ourhosting.com", 587)
session.login(smtpuser, smtppass)
并且它给了我这个错误:
exceptions.AttributeError : SMTP instance has no attribute 'login' :
我假设这是因为在python 2.1之后添加了login()方法。那么我该如何解决这个问题呢?
我必须通过将文件上传到与cgi脚本相同的目录来添加模块(虽然我相信smtplib是用C编写的,需要编译,我们在这个服务器上无法编译)
OR
按照python 2.1中libsmtp的预期方式执行。
非常感谢!
解决方案
login()是在Python 2.2中引入的,不幸的是你!在Python 2.1自己的smtplib中执行此操作的唯一方法是手动发出AUTH命令,这不会太有趣。
我还没有完全测试过,但是如果你按照你的描述复制它(可能称之为smtplib2.py),似乎Python 2.2的smtplib应该或多或少地在2.1上工作。它只是一个Python模块,不需要C编译。但是,您至少需要复制它依赖于2.2的lib的hmac.py库。如果您使用以后的Python版本来窃取它,那么它也开始需要电子邮件包,这可能会更有效。
其他提示
按照python 2.1中libsmtp的预期方式执行。
不隶属于 StackOverflow