使用PHP连接到IMAP

时间:2015-10-16 06:57:50

标签: php gmail imap

我正在尝试从我的托管服务器连接到gmail服务器时抛出一个名为无法连接到gmail-imap.l.google.com的错误,993:连接拒绝但是当我从本地主机连接它然后一切工作正常。

Bellow你可以找到我的代码。

<?php

/* Created on: 11/3/2008 By Ron Hickey 6tx.net/gmail_mod
  Gmail mod for admin panels or you can edit it and convert html results to XML for personal RSS reader */

// enter gmail username below e.g.--> $m_username = "yourusername";
$m_username = "someid@gmail.com";

// enter gmail password below e.g.--> $m_password = "yourpword";
$m_password = "password";

// enter the number of unread messages you want to display from mailbox or
//enter 0 to display all unread messages e.g.--> $m_acs = 0;
$m_acs = 15;

// How far back in time do you want to search for unread messages - one month = 0 , two weeks = 1, one week = 2, three days = 3,
// one day = 4, six hours = 5 or one hour = 6 e.g.--> $m_t = 6;
$m_t = 2;

//----------->Nothing More to edit below
//open mailbox..........please
$m_mail = imap_open("{imap.gmail.com:993/imap/ssl}INBOX", $m_username, $m_password)

// or throw a freakin error............you pig
        or die("ERROR: " . imap_last_error());

// unix time gone by or is it bye.....its certanly not bi.......or is it? ......I dunno fooker
$m_gunixtp = array(2592000, 1209600, 604800, 259200, 86400, 21600, 3600);

// Date to start search
$m_gdmy = date('d-M-Y', time() - $m_gunixtp[$m_t]);

//search mailbox for unread messages since $m_t date
$m_search = imap_search($m_mail, 'UNSEEN SINCE ' . $m_gdmy . '');

//If mailbox is empty......Display "No New Messages", else........ You got mail....oh joy

$m_empty = "";

if ($m_search < 1) {
    $m_empty = "No New Messages";
} else {

// Order results starting from newest message
    rsort($m_search);

//if m_acs > 0 then limit results
    if ($m_acs > 0) {
        array_splice($m_search, $m_acs);
    }

//loop it
    foreach ($m_search as $what_ever) {

//get imap header info for obj thang
        $obj_thang = imap_headerinfo($m_mail, $what_ever);

//Then spit it out below.........if you dont swallow
        echo "<body bgcolor=D3D3D3><div align=center><br /><font face=Arial size=2 color=#800000>Message ID# " . $what_ever . "</font>

<table bgcolor=#D3D3D3 width=700 border=1 bordercolor=#000000 cellpadding=0 cellspacing=0>
<tr>
<td><table width=100% border=0>
<tr>
<td><table width=100% border=0>
<tr>
<td bgcolor=#F8F8FF><font face=Arial size=2 color=#800000>Date:</font> <font face=Arial size=2 color=#000000>" . date("F j, Y, g:i a", $obj_thang->udate) . "</font></td>
<td bgcolor=#F8F8FF><font face=Arial size=2 color=#800000>From:</font> <font face=Arial size=2 color=#000000>" . $obj_thang->fromaddress . "</font></td>
<td bgcolor=#F8F8FF><font face=Arial size=2 color=#800000>To:</font> <font face=Arial size=2 color=#000000>" . $obj_thang->toaddress . " </font></td>
</tr>
<tr>
</table>
</td>
</tr><tr><td bgcolor=#F8F8FF><font face=Arial size=2 color=#800000>Subject:</font> <font face=Arial size=2 color=#000000>" . $obj_thang->Subject . "</font></td></tr><tr>
</tr>
</table></td>
</tr>
</table><a href=http://gmail.com target=_blank><font face=Arial size=2 color=#800000>Login to read message</a></font><br /></div></body>";
    }
} echo "<div align=center><font face=Arial size=4 color=#800000><b>" . $m_empty . "</b></font></div>";
//close mailbox bi by bye
imap_close($m_mail);

2 个答案:

答案 0 :(得分:0)

    $hostname = '{imap.googlemail.com:993/imap/ssl/novalidate-cert}INBOX';
    $server = '{imap.googlemail.com:993/imap/ssl/novalidate-cert}INBOX';
    $username = 'xxxxx@gmail.com';
    $password = 'xxxxxxxxxxx';

    $inbox = imap_open($hostname,$username,$password,NULL,1) or die('Cannot connect to Mail Server: ' . print_r(imap_errors()));
    /* grab emails */

    $emails = imap_search($inbox,'UNSEEN');    // UNSEEN = for unread mail,SEEN = READ mail , ALL = all mail READ as well as UNREAD mail

我使用上面的代码连接邮件服务器 试试

$ inbox = imap_open($ hostname,$ username,$ password,NULL,1)或die('无法连接到邮件服务器:'。print_r(imap_errors()));

答案 1 :(得分:0)

我的服务器hostgator不允许我使用imap连接到gmail服务器。所以我要将我的业务迁移到其他地方..