3

好的,这段代码“运行良好”,然后我开始使用它,以便让其他人连接到他们的电子邮件,并且由于各种拼写错误等,您在此过程中遇到了一些开放流错误。

自从这样做后,我突然无法连接到我的电子邮件?不久前,我使用了完全相同的连接代码,然后浏览了我的收件箱。

我总是收到“警告:imap_open() [function.imap-open]:无法打开流”错误。

这很奇怪,因为我使用的代码与以前完全相同,但是由于遇到错误,我现在无法连接。反应也需要很长时间。

这是代码:

$mailbox = imap_open('{mail.artisancodesmith.com:143/notls}INBOX', 'admin@artisancodesmith.com', 'PASSWORD');

if ($mailbox) {
    $response = "MAIL MENU:<br>
        inbox: View your inbox.<br>
        compose: Compose an e-mail.<br>
        setup: Set your e-mail account's settings.";
    $next = "iorcmail";
}

注意:PHP 页面连接到同一服务器上的电子邮件。

更新: 如果我用“localhost”替换“mail.artisancodesmith.com”,它会再次起作用!我更愿意使用我的实际 IMAP 主机——我想我会看看它是否会在未来某个时候再次工作。感谢所有帮助过的人。:)

4

5 回答 5

4

请使用以下代码连接成功,

$hostname = "{imap.gmail.com:993/imap/ssl/novalidate-cert}";

$mailbox = imap_open($hostname, 'admin@artisancodesmith.com', 'PASSWORD');

if ($mailbox) 
{
    // do work....
}
于 2013-11-22T14:35:27.423 回答
1

我试过这个对我来说非常好

$inbox = imap_open("{imap.gmail.com:993/imap/ssl/novalidate-cert/norsh}Inbox", 'username', 'password')
             or die('Cannot connect to Gmail: ' . imap_last_error());

$emails = imap_search($inbox,'All');
if($emails) {
    /* begin output var */
    $output = '';
    /* put the newest emails on top */
    rsort($emails);
    /* for every email... */
    foreach($emails as $email_number) {
        /* get information specific to this email */
        $overview = imap_fetch_overview($inbox,$email_number,0);
        $message = imap_fetchbody($inbox,$email_number,2);
        $header =  imap_header($inbox, $email_number); 
        echo "<h1>data</h1>";
        echo "<pre>";print_r($message);
        echo "<h1>Message</h1>";
        echo "<pre>";print_r($message);
        echo "<h1>header</h1>";
        echo "<pre>";print_r($message);
        $overview[0]->seen;
        $overview[0]->subject;
        $overview[0]->from;
        $overview[0]->date;

    }
} 
/* close the connection */
imap_close($inbox);
于 2017-10-10T05:31:55.397 回答
1

我遇到了这个问题,这就是我解决它的方法;

在此之后,上面的代码对我有用....

于 2016-05-23T12:42:56.623 回答
0

也许你在代理后面?如果是这样,我想您需要针对它进行身份验证...

于 2013-10-24T16:37:07.887 回答
0
resource imap_open(
    string $mailbox , 
    string $username , 
    string $password [, 
    int $options = 0 [, 
    int $n_retries = 0 [,  
    array $params = NULL ]]] 
)
于 2017-05-07T05:10:26.617 回答