2015-09-07 46 views
0

我需要檢查我的behat測試中來自gmail的郵件。 我用這個tutorial獲得來自Gmail的郵件我用PHP:爲什麼無法閱讀Gmail的收件箱?

set_time_limit(4000); 

// Connect to gmail 
$imapPath = '{imap.gmail.com:993/imap/ssl}INBOX'; 
$username = '[email protected]'; 
$password = 'your_gmail_password'; 

// try to connect 
$inbox = imap_open($imapPath,$username,$password) or die('Cannot connect to Gmail: ' . imap_last_error()); 

    /* ALL - return all messages matching the rest of the criteria 
    ANSWERED - match messages with the \\ANSWERED flag set 
    BCC "string" - match messages with "string" in the Bcc: field 
    BEFORE "date" - match messages with Date: before "date" 
    BODY "string" - match messages with "string" in the body of the message 
    CC "string" - match messages with "string" in the Cc: field 
    DELETED - match deleted messages 
    FLAGGED - match messages with the \\FLAGGED (sometimes referred to as Important or Urgent) flag set 
    FROM "string" - match messages with "string" in the From: field 
    KEYWORD "string" - match messages with "string" as a keyword 
    NEW - match new messages 
    OLD - match old messages 
    ON "date" - match messages with Date: matching "date" 
    RECENT - match messages with the \\RECENT flag set 
    SEEN - match messages that have been read (the \\SEEN flag is set) 
    SINCE "date" - match messages with Date: after "date" 
    SUBJECT "string" - match messages with "string" in the Subject: 
    TEXT "string" - match messages with text "string" 
    TO "string" - match messages with "string" in the To: 
    UNANSWERED - match messages that have not been answered 
    UNDELETED - match messages that are not deleted 
    UNFLAGGED - match messages that are not flagged 
    UNKEYWORD "string" - match messages that do not have the keyword "string" 
    UNSEEN - match messages which have not been read yet*/ 

// search and get unseen emails, function will return email ids 
$emails = imap_search($inbox,'UNSEEN'); 

$output = ''; 

foreach($emails as $mail) { 
$headerInfo = imap_headerinfo($inbox,$mail); 
$output .= $headerInfo->subject.'<br/>'; 
$output .= $headerInfo->toaddress.'<br/>'; 
$output .= $headerInfo->date.'<br/>'; 
$output .= $headerInfo->fromaddress.'<br/>'; 
$output .= $headerInfo->reply_toaddress.'<br/>'; 
$emailStructure = imap_fetchstructure($inbox,$mail); 
if(!isset($emailStructure->parts)) { 
$output .= imap_body($inbox, $mail, FT_PEEK); 
} else { 
    // 
} 
    echo $output; 
    $output = ''; 
} 

// colse the connection 
imap_expunge($inbox); 
imap_close($inbox); 

但這個錯誤occures所有的時間:

警告:imap_open()[function.imap開]:Couldn」 t open stream

我發現thisthisthis問題。但他們都沒有幫助我。

還有什麼問題呢?

回答

0

在檢查我的帳戶後,我收到了GMail發送的電子郵件,它阻止了不安全連接的登錄嘗試。

所以我想通了,你必須讓你的安全設置不安全的連接:

enter image description here

的Et瞧!它的工作原理和我可以繼續我的behat測試寫作。

0

轉到郵箱設置,選擇Imap/pop轉移,啓用imap,接下來您將收到來自gmail的消息,確認您進行此更改並且所有工作都可以正常工作。