我正在使用以下代码使用 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 中的工作原理和最佳实践的说明
authentication - PuTTy 连接但 key 在使用 Plink 时被拒绝
objective-c - 当模拟器从 XCode 关闭时,是否有运行的方法?
ruby-on-rails - Rails - has_secure_password 密码和 PI