рдЬрдм IMAP рд╕рд░реНрд╡рд░ рдХреЛ Kerberos рдЯрд┐рдХрдЯ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рддреЛ PHP рдиреЛрдЯрд┐рд╕ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИ, рднрд▓реЗ рд╣реА рд╡рд╣ рд╢рд╛рд╕реНрддреНрд░реАрдп рдХреНрд░реЗрдбреЗрдВрд╢рд┐рдпрд▓реНрд╕ (рд▓реЙрдЧрд┐рди/рдкрд╛рд╕рд╡рд░реНрдб) рдкрд░ рд╡рд╛рдкрд╕ рдЖрддрд╛ рд╣реЛред
PHP Notice: Unknown: Kerberos error: No credentials cache found (try running kinit) for imap.example.com (errflg=1) in Unknown on line 0
рдореЗрд░реА рд╕рдорд╕реНрдпрд╛ рдХреЛ рдареАрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╕рд░реНрд╡рд░ рд╕реЗ рдЬреБрдбрд╝рд╛рд╡ рдХрд░рддреЗ рд╕рдордп GSSAPI рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдХреЛ рдЕрдХреНрд╖рдо рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ:
$imapStream = @imap_open($this->imapPath, $this->login, $this->password, 0, 0, array('DISABLE_AUTHENTICATOR' => 'GSSAPI'));
рдзрдиреНрдпрд╡рд╛рдж @tchemineau , 7 рд╕рд╛рд▓ рдмрд╛рдж, рдЖрдкрдиреЗ рдореЗрд░реА рдЧрд╛рдВрдб рдХреЛ рдмрдЪрд╛рдпрд╛, рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдФрд░ рдХрд┐рддрдиреЗ рдШрдВрдЯреЗ!!! рдореИрдВ
рдЖрдк setConnectionArgs($options = 0, $retriesNum = 0, $params = null)
рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрди рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рд╕реЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
<?php
require_once __DIR__ . '/../vendor/autoload.php';
use PhpImap\Mailbox;
use PhpImap\Exceptions\ConnectionException;
use PhpImap\Exceptions\InvalidParameterException;
$mailbox = new Mailbox(
'{imap.gmail.com:993/imap/ssl}INBOX', // IMAP server and mailbox folder
'[email protected]', // Username for the before configured mailbox
'*********', // Password for the before configured username
__DIR__, // Directory, where attachments will be saved (optional)
'US-ASCII' // Server encoding (optional)
);
try {
$mailbox->setConnectionArgs(0, 0, array('DISABLE_AUTHENTICATOR' => 'GSSAPI'));
} catch(InvalidParameterException $ex) {
die("Failed to set connection arguments: " . $ex->getMessage());
}
try {
$mail_ids = $mailbox->searchMailbox('UNSEEN');
} catch(ConnectionException $ex) {
die("IMAP connection failed: " . $ex->getMessage());
} catch (Exception $ex) {
die("An error occured: " . $ex->getMessage());
}
foreach ($mail_ids as $mail_id) { ... }
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
рдореЗрд░реА рд╕рдорд╕реНрдпрд╛ рдХреЛ рдареАрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╕рд░реНрд╡рд░ рд╕реЗ рдЬреБрдбрд╝рд╛рд╡ рдХрд░рддреЗ рд╕рдордп GSSAPI рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдХреЛ рдЕрдХреНрд╖рдо рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ: