Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I have some php code that I'm trying to use to connect to gmail using imap. Here's the code:

$hostname = '{}INBOX';
$tmp_username = 'username';
$tmp_password = 'password';
$inbox = imap_open($hostname, $username, $password) or die(imap_last_error());

And I get this error output everytime i try to connect:

Warning: imap_open() [function.imap-open]: Couldn't open stream {}INBOX in /var/www/PHP/EmailScript.php on line 14 Login aborted

I dont understand what could be wrong!! I've heard of people having SSL errors but this doesnt seem to be one of those. Please please please help me!!!!!

Edit: When trying to connect to through telnet-ssl i get the following output:

Trying Connected to Escape character is '^]'.

And Nothign else happens

share|improve this question
try – Chris_K Aug 22 '09 at 0:29
for some reason not able to reach the gmail server using telnet 993 through the server machine. Can someone help please? – Alexander Aug 22 '09 at 0:43
you need to specify -z ssl when using telnet-ssl otherwise you will get what you got. – sybreon Aug 22 '09 at 12:58
@sybreon ok that worked! i used this command: (telnet-ssl -z ssl 993) and it connected successfully to gmail. Now, why can't I do it with my php?!?!?! – Alexander Aug 22 '09 at 21:11

If you telnet directly to 993, it should not work correctly because telnet is not on SSL. Use something like telnet-ssl or stunnel instead to ensure that you are connecting to 993 over SSL. Once that is done, then try to see if you get the welcome message and then try a few IMAP commands to see if they work.

share|improve this answer
Well this is the output I get "Trying Connected to Escape character is '^]'." Nothing else though – Alexander Aug 22 '09 at 2:43
That's a pretty normal output for an initial telnet connection. Chances are it connected. – Mark Henderson Aug 22 '09 at 3:50
If you telnet successfully to gmail, you will receive "* OK Gimap ready for requests from..." – sybreon Aug 22 '09 at 12:55
@Alexander: Your telnet session is not running over SSL. You will not get anything that way. – sybreon Aug 22 '09 at 12:56

Use this command to start up the session....

openssl s_client -connect

if I do that I get this...

* OK Gimap ready for requests from <ip_address> 16if41262875qci.66

share|improve this answer

First ensure you can connect to the IMAP server from the machine:

telnet 993

If the connection works than check if SSL is installed with php-imap, using phpinfo() you must see something like this

IMAP c-Client Version   2004
SSL Support     enabled
Kerberos Support        enabled

Other ideas in a similar thread in StackOverflow

share|improve this answer
Hmmm, i am not able to connect to 993 from the machine, very weird! Why do you think this is? I do have SSL installed with php imap though. – Alexander Aug 22 '09 at 0:43
Check if other machines can connect. I think your firewall is not allowing your machine or your server to connect through port 993. – HD. Aug 22 '09 at 0:54
Ok, now i am able to connect to it through telnet, however still getting errors! – Alexander Aug 22 '09 at 1:26
Are you sure the other variables are OK? First you use $tmp_username and $tmp_password and with imap_open you use $username and $password. Try to connect without using variables to check if everything is fine and don't forget that username must contain the domain. – HD. Aug 22 '09 at 1:38

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.