我使用以下代码使用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()
你能告诉我哪里出错吗?
答案 0 :(得分:0)
正如@kwatford在评论中建议尝试使用print语句时,发现代码执行被卡住了
s = smtplib.SMTP('company.server.name')
。
@abarnert建议,试过
telnet company.server.name
因错误而失败
telnet: Unable to connect to remote host: Connection timed out
因此,基本上无法连接到smtp服务器的代码导致了问题。