gpt4 book ai didi

Python smtplib,starttls 超时

转载 作者:太空宇宙 更新时间:2023-11-03 19:31:06 24 4
gpt4 key购买 nike

我正在尝试为我在办公室网络上运行的小型监控脚本设置一些基本的电子邮件功能。在我的 Ubuntu 10.10 服务器上运行脚本(见下文)工作正常,但是当我在 Windows 桌面计算机上运行它时,它会在 send: 'STARTTLS\r\n' with reply 上超时: '451 4.7.0 等待客户端输入超时\r\n'

虽然我将在 Linux 服务器上运行它,但我很好奇为什么它不能在 Windows 下运行。是否是不同的 Python 版本导致了该问题?

设置:

SMTP 服务器:Exchange 2010、Windows Server 2008 R2 x64

Python 机器 #1:Windows 7 SP1 x64、Python 2.7.1 ---(失败)

Python 机器 #2:Ubuntu 服务器 10.10 x86,Python 2.6.6 ---(有效)

脚本:

# -*- coding: utf-8 -*-
import smtplib


def main():
SERVER="exchange-serv"
FROM = "valid@foo.com"
TO = ["valid2@foo.com"]
TEXT = '''\
From: valid@foo.com
Subject: testin'

Test message
'''

server = smtplib.SMTP(SERVER)
server.set_debuglevel(1)
server.starttls()
server.login('user', 'pass')
server.sendmail(FROM, TO, TEXT)
server.quit()


if __name__ == "__main__":
main()

最佳答案

首先想到的是 Windows 防火墙正在阻止来自 Python.exe 可执行文件的出站套接字连接。您是否尝试过使用 Python 建立任何其他类型的连接,例如使用 urllib2?如果是这样,结果是什么?

假设您无法使用 Python 进行连接,请确保将 Python.exe 作为异常(exception)添加到 Windows 防火墙中。

关于Python smtplib,starttls 超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5854749/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com