【问题标题】:Python2.5, smtplib and KeyErrorPython2.5、smtplib和KeyError
【发布时间】:2012-01-25 03:15:36
【问题描述】:

我正在尝试为 ESXi 上的 BusyBox 编写一个带有邮件功能的 python 脚本。它运行 Python 2.5,但缺少一些库(即 smtplib)。我下载了 Python2.5 源并将 lib 文件夹复制到 ESXi。现在我正在尝试通过“import lib.smtplib”导入 smtplib,但 Python 说:

Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/pysexi/lib/smtplib.py", line 46, in <module>
 import email.Utils
 File "/pysexi/lib/email/__init__.py", line 115, in <module>
 setattr(sys.modules['email'], _name, importer)
KeyError: 'email'

我被困住了。因此,每一个帮助和每一个想法都值得赞赏!

【问题讨论】:

    标签: python smtplib esxi busybox


    【解决方案1】:

    我对 BusyBox 或 ESXi 一无所知 - 因此这可能更像是一个建议而非答案,但您可以考虑使用支持 HTTP 或 RESTful API 的电子邮件服务 - 例如MailGun。他们有一个免费计划,每天最多可接收 200 封电子邮件,因此您可能不会花费任何费用。

    同样,这种方式更像是一个建议或“B”计划(如果没有人可以帮助您解决这个特定问题)

    【讨论】:

      【解决方案2】:

      尝试在设备或自定义操作系统上安装通用应用程序总是很有趣。

      只是一个猜测,但它可能是电子邮件库是一个编译的 C 模块 - 即不是纯 python。

      我会尝试使用完全是 Python 且没有编译代码的库 - 我不知道这些库是否有纯 Python 版本。

      该选项是尝试追踪 ESXi 所基于的操作系统版本,然后使用该操作系统中匹配的 python 版本。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-01-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-04-20
        • 2010-09-20
        • 1970-01-01
        相关资源
        最近更新 更多