Почта по IMAP
Объект mail ходит на сервер сам: IMAP читать, SMTP писать, POP3 — старый ящик. Outlook на машине не нужен. Типичный RPA: письмо с накладной → сохранить PDF → разобрать дальше.
Что выбрать
- IMAP — серверная почта без окна Outlook. Этот гайд.
- SMTP — исходящие: smtp_connect, send_mail_via_smtp.
- Outlook — локальный клиент: сценарий Outlook.
- Exchange API — msexchange.
Порядок IMAP
- imap_connect
- При глубоком ящике — set_limit (по умолчанию глубина поиска 5000).
- Число писем: get_message_count_via_imap
- Письмо: by_subject, by_from, by_id, by_attachment_name
- Пометить: set_message_readed_by_id_via_imap
- Перенести: move_message_by_id_via_imap
- imap_disconnect
$mail->imap_connect("imap.example.com", "user@example.com", "secret");
$count = $mail->get_message_count_via_imap();
$msg = $mail->get_message_by_subject_via_imap("Накладная");
Через прокси все запросы mail: set_proxy.
Вложения
Сохранить на диск: by_number, by_id, либо по теме/from/тексту. Дальше файл можно отдать в PDF или Excel.
Отправка
IMAP — про ящик. Исходящие: SMTP-блок на хабе mail или Outlook. Не смешивайте «нашёл письмо» и «отправил отчёт» в одну непроверенную сессию: сначала чтение на тестовом ящике.
FAQ
Пустой поиск. Лимит set_limit, неверная папка, письмо в «Спам». Для отладки сначала get_message_count.
POP3. Те же идеи, другие имена методов (*_via_pop3) на хабе mail.
Поиск: imap.