python - 在python中使用smtp发送电子邮件不起作用

我正在使用以下代码使用 python stmp lib 发送电子邮件。但是当我在 unix 中执行代码时,它会发生,即控制台等待着,就好像在等待我输入一些东西。我必须按 ctrl+Z 退出程序。

#!/usr/bin/python

import smtplib
from email.mime.text import MIMEText
textfile = '/my/folder/file.log'
fp = open(textfile, 'rb')
msg = MIMEText(fp.read())
fp.close()
msg['Subject'] = 'The contents of %s' % textfile
msg['From'] = "myid@company.com"
msg['To'] = "myid@company.com"
s = smtplib.SMTP('company.server.name')
s.sendmail("myid@company.com", "myid@company.com", msg.as_string())
s.quit()

你能告诉我哪里出错了吗?

最佳答案

正如@kwatford 在尝试使用 print 语句的评论中建议的那样,发现代码执行卡在了

s = smtplib.SMTP('company.server.name') .

按照@abarnert 的建议,尝试过

telnet company.server.name

因错误而失败

telnet:无法连接到远程主机:连接超时

因此基本上是无法连接到 smtp 服务器的代码导致了问题。

https://stackoverflow.com/questions/17559964/

相关文章:

ruby-on-rails - 如何在 Fabrication 的计数参数中使用 transient

python - 用于 gtk 应用程序的交互式 python 控制台

wordpress - 寻求有关转义(斜杠)在 wpdb 中的工作原理和最佳实践的说明

git - 通过 ANT 克隆 GIT 存储库

authentication - PuTTy 连接但 key 在使用 Plink 时被拒绝

objective-c - 当模拟器从 XCode 关闭时,是否有运行的方法?

ruby-on-rails - Rails - has_secure_password 密码和 PI

Android - 将大量数据传递给在不同进程上运行的服务

php - 无法使用多语言 codeigniter 摆脱 URL 中的默认 Controller

java - Java 字节码中的平台独立性