Стів Бауман розповідає про свій новий пакет ImapEngine, який пропонує зручний API для управління поштовими скриньками без використання PHP-розширення, а також про його інтеграцію в новий продукт Spamwise.
Дивіться наше повне інтерв'ю:
Або слухайте в обраному додатку для подкастів:
Щоб підключитися до поштової скриньки, створіть новий екземпляр Mailbox з параметрами конфігурації:
$mailbox = new Mailbox([
'port' => 993,
'username' => '...',
'password' => '...',
'encryption' => 'ssl',
'host' => 'imap.example.com',
]);
Для підключення за допомогою токена OAuth передайте токен як пароль та встановіть метод authentication на oauth:
$token = '...';
$mailbox = new Mailbox([
'port' => 993,
'username' => '...',
'password' => $token,
'encryption' => 'ssl',
'authentication' => 'oauth',
'host' => 'imap.example.com',
]);
// Отримати вхідну папку.
$inbox = $mailbox->inbox();
// Отримати всі папки.
$folders = $mailbox->folders()->get();
// Отримати всі папки, що відповідають шаблону.
$folders = $mailbox->folders()->get('*/Subfolder');
// Знайти конкретну папку.
$folder = $mailbox->folders()->find('Folder Name');
// Знайти конкретну папку (або викинути помилку).
$folder = $mailbox->folders()->findOrFail('Missing Folder');
ImapEngine надає зручний та ланцюговий API для складання складних запитів пошуку повідомлень.
Це дозволяє комбінувати різні критерії пошуку та параметри для отримання саме тих повідомлень, які вам потрібні:
// Отримати вхідну папку.
$inbox = $mailbox->folders()->inbox();
// Отримати всі UIDs повідомлень у вхідній папці.
$messages = $inbox->messages()->get();
// Отримати всі повідомлення у вхідній папці з різними параметрами вмісту.
$messages = $inbox->messages()
->withHeaders() // Дозволити отримання заголовків повідомлень.
->withFlags() // Дозволити отримання міток повідомлень.
->withBody() // Дозволити отримання тексту повідомлень (включаючи вкладення).
->get();
Ви знали, що в одному додатку Laravel можна реалізувати кілька API? У нашій статті ви дізнаєтеся, як за допомогою Scramble легко документувати різні версії API та налаштувати доступ до документації, щоб зробити її публічною або приватною. Читайте далі, щоб дізнатися більше
Модельний контекстний протокол (MCP) відкриває нові горизонти в інтеграції AI-додатків з PHP. Дізнайтеся, як легко створити сервер, що відповідає MCP, та які можливості відкриваються для вашого проєкту
Зазирніть у світ Laravel, де потужний CLI-фреймворк відкриває нові можливості для розробки командного інтерфейсу. Дізнайтеся, як створити просту утиліту для перевірки акцій, яка працює з Docker, та які переваги це може принести у вашому проєкті!