2011-02-28 86 views
0

计划使用php imap功能,我试图从我的本地主机上测试imap协议, 我没有找到mac的telnet-ssl,但我可以使用openssl和 建立连接。imap gmail fetch消息macosx

问题是我只能登录,但我不能选择一个邮箱, 创建一个邮箱,得到一个列表,... 我唯一可以运行的命令是能力,这是不是真的有用。

这里是我输入的命令(#)和答案,我得到(*)

# openssl s_client -connect imap.gmail.com:993 

* CONNECTED(00000003) 
* […] 
* OK Gimap ready for requests from 77.xxx.xxx.xxx v7if3901328vdd.33 

# a001 login myUserName myPassword 

* OK myUserName firstname lastname authenticated (Success) 



# a002 create testbox 

* (nothing, I have to start a new session) 

OR 

# a002 list "*" 
* (nothing, I have to start a new session) 

OR 

… 

不知道问题出在哪里,

是否有人能够从Gmail的成功 取一些邮件(或其他)在Mac上使用imap? (我在osX10.6上)

+0

fetchmail的,给这个... – ocodo 2011-02-28 08:04:49

回答

0

使用fetchmailprocmail来构建本地邮箱。创建~/.fetchmailrc含...

set postmaster your_local_username 
set syslog 
set daemon 10 
set logfile fetchmail.log 

poll "imap.gmail.com" proto imap port 993 
    user "[email protected]" password "password" 
    is your_local_username here keep ssl 

然后设置procmail来存储消息...

在你~文件夹,创建.procmailrc含...

SHELL=/bin/bash 
DEFAULT=$HOME/.mail/Maildir/ 
MAILDIR=$HOME/.mail/Maildir/ 
LOCKFILE=$HOME/.mail/.lock 
LOGFILE=$HOME/.procmail/log 

您可能需要进行这些文件夹也是我忘了。

首先procmail的收取邮件的事:

fetchmail -kFm "/usr/bin/procmail -d %T" 

您可以使用类似mutt读取邮件,我个人不读邮件手动,我做一个fetchmail的使用,我会用它用于电子邮件自动化,这是procmail擅长的,本质上,您可以创建“配方”来过滤,处理和重定向邮件。

维基百科有一个合理的出发点learning more about procmailman fetchmailman procmail页面也有很多有用的信息。

+0

感谢您指出了其他的解决方案, 我打算用PHP IMAP功能来获取信息 因为有PHP IMAP功能,教程。 现在我不知道fetchmail,我没有找到PHP的fetchmail函数 ,但现在我知道它是可能的;) 但我想先解决我的“imap gmail配置”问题。 – ling 2011-02-28 11:14:38

+1

哦,没关系,我已将PHP添加到您的代码中。但是你的问题实际上没有提到关于PHP的任何内容,只是关于如何在Mac OS X上做到这一点。所以你可能想重新说出你的问题,以得到你想要的答案。顺便说一句,有很多fetchmail和gmail的资源。 – ocodo 2011-02-28 21:32:33

2

我认为这可能是一个行结束的问题。 Use the -crlf switch and it should work

-crlf 

    this option translated a line feed from the terminal into CR+LF as required 
    by some servers. 

This is the command I've always used to test Gmail IMAP,和它的工作对我罚款从Mac:

openssl s_client -crlf -connect imap.gmail.com:993 

此外,您LIST命令有错误的语法。您需要两个参数,而不是一个:

a002 list "" "*" 
+0

是的,它做到了!非常感谢,只是感到羞耻,这只是在手册页上(因为它总是),我不知道为什么我忽视它。 – ling 2011-03-02 20:18:35

+1

@ling:如果这回答了您的问题,请在答案左侧点击[复选标记](http://stackoverflow.com/faq#howtoask)。它使解决方案清楚地告诉下一个有同样问题的人...... – dkarp 2011-03-02 20:34:46