使用openssl通过shell脚本获取电子邮件

时间:2012-10-26 16:37:32

标签: shell unix openssl expect

如何在一个命令(shell脚本)中使用openssl进行电子邮件列表打印? 我可以打开连接:

openssl s_client -crlf -connect pop.gmail.com:995

下一步是传递用户名和密码:

USER myuser
PASS mypass

下一步是调用LIST命令

LIST

但是我怎么能为此编写shell脚本呢?我希望在我的c示例程序中使用 popen 函数。您是否可以发布示例我应该如何在shell脚本中使用 expect 发送命令来执行此操作?

谢谢,抱歉我的英语不好。

1 个答案:

答案 0 :(得分:1)

我认为这应该有用(你可能需要稍微修改一下):

#!/usr/bin/expect -f
spawn -console openssl blah blah blah blah
send "USER myuser\r"
send "PASS mypass\r"
send "LIST\r"

就这么简单。如果你想使用popen,它可能不会工作,因为openssl需要交互式终端,你需要以某种方式伪造它。期望可以做到这一点。阅读手册页!