【发布时间】:2013-05-06 19:33:17
【问题描述】:
我刚刚开始使用 python 通过 gmail 自动发送电子邮件。我已经完成了整个过程,只需直接在命令行中输入,但现在我想自动化这个过程(即定期发送电子邮件)。我已经完成了第一部分的工作,在那里我与 SMTP 服务器建立了连接。
os.system("openssl s_client -starttls smtp -connect smtp.gmail.com:587 -crlf -ign_eof")
现在我想获取它,以便它在该连接中键入并运行以下命令:
os.write("HELO", os.linesep)
os.write("AUTH LOGIN", os.linesep) ... And so on
我已经尝试过使用 write 命令以及 os.system 命令,但似乎都没有将文本实际插入此窗口。可能具有更多 linux 和终端技能的人可以提供帮助吗?此外,当所有这些系统进程都在运行时,似乎 time.sleep 不起作用。我该如何解决?
【问题讨论】:
-
Python 确实有一个
smtplib模块来提供一个 SMTP 客户端。如果您的目标是使用 Python,那么直接使用openssl是没有意义的。 -
我已经尝试过 smtplib,但它不适用于与 gmail 的连接。如果您可以提供将建立连接的工作代码,请发布它,我会检查它。但是,我发现 openssl 是我什至设法建立连接的唯一方法。
标签: python unix automation terminal