IMAP и SMTP

Подключение к Agent Inbox по стандартным почтовым протоколам

IMAP в разработке

Поддержка IMAP сейчас в разработке и появится в ближайшие недели. Ниже описано запланированное поведение. SMTP уже доступен.

Agent Inbox поддерживает стандартные протоколы IMAP и SMTP: можно подключаться классическими клиентами или интегрироваться с системами, которые опираются на эти протоколы.

Что такое IMAP и SMTP?

IMAP (Internet Message Access Protocol) и SMTP (Simple Mail Transfer Protocol) — стандартные протоколы интернет-почты.

  • IMAP нужен, чтобы читать и управлять письмами. Клиент синхронизируется с сервером, сообщения доступны с разных устройств. Outlook, Thunderbird и Apple Mail при просмотре ящика используют IMAP.

  • SMTP нужен, чтобы отправлять письма. При нажатии «Отправить» доставку на сервер получателя выполняет SMTP.

Зачем IMAP/SMTP с Agent Inbox?

  • Почтовый клиент: Outlook, Thunderbird, Apple Mail или любой клиент с IMAP/SMTP — к ящику Agent Inbox.
  • Доступ из кода: стандартные библиотеки (например Python imaplib / smtplib) на любом языке.
  • Связка со старыми системами: там, где есть только IMAP/SMTP.
  • Привычные инструменты: тот же рабочий процесс при разработке и тестах.

Где взять учётные данные

Перед настройкой IMAP или SMTP понадобятся два значения из консоли Agent Inbox:

1

ID ящика (имя пользователя)

Откройте Dashboard → Inboxes и колонку Inbox ID. ID ящика — это адрес почты (например myinbox@agentinbox.space). Он же будет именем пользователя для IMAP.

2

API-ключ (пароль)

Откройте Dashboard → API Keys, создайте или скопируйте API-ключ — он будет паролем.

Настройка IMAP

IMAP используется для чтения писем из ящика Agent Inbox.

Нужен SSL/TLS

Для IMAP обязателен SSL/TLS. Подключения без SSL отклоняются. Включите SSL/TLS в настройках клиента.

ПараметрЗначение
Хостimap.agentinbox.space
Порт993
ЛогинАдрес ящика (например myinbox@agentinbox.space)
ПарольВаш API-ключ
SSL/TLSОбязательно (должно быть включено)
Папки

Сейчас по IMAP доступна только папка INBOX. Папки «Отправленные», «Черновики», «Корзина» через IMAP недоступны. Полный доступ к папкам — через API Agent Inbox.

Пример на Python (IMAP)

1import imaplib
2import os
3import email
4
5# Your credentials from Agent Inbox Console
6inbox_email = "myinbox@agentinbox.space" # From Dashboard → Inboxes
7api_key = os.getenv("AGENTINBOX_API_KEY") # From Dashboard → API Keys
8
9# Connect with SSL (required)
10imap = imaplib.IMAP4_SSL("imap.agentinbox.space", 993)
11
12try:
13 # Authenticate using inbox email as username
14 imap.login(inbox_email, api_key)
15
16 # Select INBOX (only supported folder)
17 imap.select("INBOX")
18
19 # Search for all messages
20 status, message_ids = imap.search(None, "ALL")
21
22 if status == "OK":
23 for msg_id in message_ids[0].split():
24 # Fetch message
25 status, msg_data = imap.fetch(msg_id, "(RFC822)")
26 if status == "OK":
27 email_body = msg_data[0][1]
28 message = email.message_from_bytes(email_body)
29 print(f"Subject: {message['subject']}")
30finally:
31 imap.logout()

Пример на TypeScript (IMAP)

1import Imap from "imap";
2
3// Your credentials from Agent Inbox Console
4const inboxEmail = "myinbox@agentinbox.space"; // From Dashboard → Inboxes
5const apiKey = process.env.AGENTINBOX_API_KEY!; // From Dashboard → API Keys
6
7const imap = new Imap({
8 user: inboxEmail,
9 password: apiKey,
10 host: "imap.agentinbox.space",
11 port: 993,
12 tls: true, // SSL required
13});
14
15imap.once("ready", () => {
16 imap.openBox("INBOX", false, (err, box) => {
17 if (err) throw err;
18 console.log(`${box.messages.total} messages in INBOX`);
19 imap.end();
20 });
21});
22
23imap.once("error", (err: Error) => {
24 console.error("IMAP error:", err.message);
25});
26
27imap.connect();

Настройка SMTP

SMTP используется для отправки писем с ящика Agent Inbox.

Нужен SSL/TLS

Для SMTP обязателен SSL/TLS. Подключения без SSL отклоняются. Включите SSL/TLS в настройках клиента.

ПараметрЗначение
Хостsmtp.agentinbox.space
Порт465
Логинagentinbox
ПарольВаш API-ключ
SSL/TLSОбязательно (должно быть включено)
Адрес From

Поле From должно совпадать с адресом вашего ящика (например myinbox@agentinbox.space). Другой адрес в From может привести к сбоям доставки.

Лимиты SMTP

  • Получатели: не более 50 на одно письмо
  • Размер сообщения: до 10 МБ
  • Таймаут сессии: 30 минут

Пример на Python (SMTP)

1import smtplib
2import os
3from email.mime.text import MIMEText
4from email.mime.multipart import MIMEMultipart
5
6# Your credentials from Agent Inbox Console
7inbox_email = "myinbox@agentinbox.space" # From Dashboard → Inboxes
8api_key = os.getenv("AGENTINBOX_API_KEY") # From Dashboard → API Keys
9
10# Create message
11msg = MIMEMultipart()
12msg["Subject"] = "Hello from Agent Inbox"
13msg["From"] = inbox_email # Use your inbox email as the From address
14msg["To"] = "recipient@example.com"
15msg.attach(MIMEText("This is a test email sent via SMTP.", "plain"))
16
17# Connect with SSL (required) and send
18with smtplib.SMTP_SSL("smtp.agentinbox.space", 465) as server:
19 server.login(inbox_email, api_key)
20 server.send_message(msg)
21 print("Email sent successfully!")

Пример на TypeScript (SMTP)

1import nodemailer from "nodemailer";
2
3// Your credentials from Agent Inbox Console
4const inboxEmail = "myinbox@agentinbox.space"; // From Dashboard → Inboxes
5const apiKey = process.env.AGENTINBOX_API_KEY!; // From Dashboard → API Keys
6
7const transporter = nodemailer.createTransport({
8 host: "smtp.agentinbox.space",
9 port: 465,
10 secure: true, // SSL required
11 auth: {
12 user: inboxEmail,
13 pass: apiKey,
14 },
15});
16
17async function sendEmail() {
18 const info = await transporter.sendMail({
19 from: inboxEmail, // Use your inbox email as the From address
20 to: "recipient@example.com",
21 subject: "Hello from Agent Inbox",
22 text: "This is a test email sent via SMTP.",
23 });
24 console.log("Email sent:", info.messageId);
25}
26
27sendEmail().catch(console.error);

Устранение неполадок

ОшибкаПричинаЧто сделать
«Authentication failed»Неверные данныеПроверьте адрес ящика и API-ключ в консоли
«Connection refused»Нет SSLВключите SSL/TLS в клиенте
«Connection timeout»ФайрволОткройте порты 993 (IMAP) и 465/587 (SMTP)
«Sender not authorized»Неверный FromВ From укажите адрес своего ящика
«Folder not found»Не INBOXПо IMAP только INBOX; остальное — через API

IMAP/SMTP или API

СценарийРекомендация
Почтовый клиентIMAP/SMTP
Простая отправка из кодаSMTP
Полное управление ящикомAPI
Уведомления в реальном времениAPI (вебхуки)
Все папкиAPI
Массовые операцииAPI