Предисловие:
Я прочитал несколько потоков StackOverflow и перепробовал практически все из них.
- Я пытаюсь настроить IMAP через PHP для извлечения некоторых электронных писем, используя Clivern / Imap
- Я также попробовал пост Дэвида Уолша: Получение электронной почты Gmail с использованием PHP и IMAP
То, что я сделал:
- Пробовал это, используя учетную запись GSuite и Gmail;IMAP включен для обоих.
- Разрешено «Менее безопасные приложения» для подключения (даже если я работаю по действующему SSL). OpenSSL установлен (OpenSSL 1.0.2o 27 марта 2018 г.)
- Я закончил Дисплей Разблокировка Captcha
- Iпробовал тестировать в нескольких локальных / размещенных средах
Проблема:
- Соединение работает, когда я использую GSuite;происходит сбой при использовании Gmail (я несколько раз проверил электронную почту / пароль и сравнил параметры IMAP рядом ... все в порядке)
- Ошибка, возникающая при попытке проверить Gmail черезБиблиотека Clivern:
Warning --> imap_open(): Couldn't open stream {imap.gmail.com:993/imap/ssl/novalidate-cert}INBOX
- Ошибка при попытке проверить Gmail с помощью функций PHP:
Can not authenticate to IMAP server: [AUTHENTICATIONFAILED] Invalid credentials (Failure)
Мой код:
// Using Library
use Clivern\Imap\Core\Connection;
use Clivern\Imap\MailBox;
$imap_email = 'my_email@gmail.com';
$imap_password = 'my_password';
$connection = new Connection(
"imap.gmail.com",
"993",
$imap_email,
$imap_password,
"/ssl", // I've also tried /ssl/novalidate-cert
"INBOX"
);
$connection->connect();
$mailbox = new MailBox($connection);
$folders = $mailbox->getFolders();
echo var_dump($folders);
$connection->disconnect();
// Using PHP functions
$hostname = '{imap.gmail.com:993/imap/ssl/novalidate-cert}INBOX';
$username = $imap_email;
$password = $imap_password;
/* try to connect */
$inbox = imap_open($hostname,$username,$password) or die('Cannot connect to Gmail: ' . imap_last_error());
Мой вопрос:
Что еще может вызывать сбой аутентификации в Gmail?
... Меня особенно смущает, почему GSuiteбудет работать, а Gmail - нет.