Официальные библиотеки (SDK) — самый простой способ подключить Haskimail к приложению. Они берут на себя запросы к API, авторизацию и разбор ответов, а вы работаете с обычными методами своего языка. Библиотеки есть для Go, PHP, Python, Node.js и Java.
Установка
| Язык | Версия | Команда или зависимость | Требования |
|---|---|---|---|
| Go | 1.3.0 | go get github.com/DashaMail/haskimail-go@v1.3.0 |
Go 1.21 и новее |
| PHP | 1.2.0 | composer require dashamail/haskimail-php:^1.2.0 |
Composer |
| Python | 1.2.0 | pip install --upgrade haskimail |
Python 3.10 и новее |
| Node.js | 1.2.0 | npm install haskimail@latest --save |
npm |
| Java | 1.3.0 | Maven: groupId ru.haskimail, artifactId haskimail, version 1.3.0 |
Java 8 и новее, Apache HttpClient 5.x, Jackson 2.15+ |
Важно: если менеджер пакетов не находит указанную версию Python, Node.js или Java, значит, она ещё не опубликована в PyPI, npm или Maven Central. Попробуйте позже.
Для работы с библиотекой нужен серверный API-ключ. Где его взять — в статье «Типы ключей. API-ключи, SMTP-ключи».
Отправка писем
| Язык | Одно письмо | Пакет писем | Пакет писем по шаблонам |
|---|---|---|---|
| Go | DeliverMessage |
DeliverMessages |
DeliverMessagesWithTemplate |
| PHP | sendEmail |
sendEmailBatch |
sendEmailBatchWithTemplate |
| Python | send_email |
send_email_batch |
send_email_batch_with_templates |
| Node.js | sendEmail |
sendEmailBatch |
sendEmailBatchWithTemplates |
| Java | deliverMessage(message) |
deliverMessage(List) |
deliverMessageWithTemplate(List) |
Пакетные методы отправляют до 500 писем за один запрос и возвращают результат по каждому письму. Если ваше приложение отправляет много писем в цикле, замените цикл на пакетную отправку: это быстрее и требует меньше запросов. Как работает пакет и как читать результаты — в статье «Пакетная отправка писем через API».
Если письмо не удалось принять, API отвечает HTTP 422 и кодом ошибки. Проверьте, как библиотека сообщает об этом в вашем коде, и обработайте ошибки по статье «Ответ API при отправке письма и коды ошибок».
Шаблоны и статистика
| Возможность | Go | PHP | Python | Node.js | Java |
|---|---|---|---|---|---|
| Проверка шаблона | да | да | да | да | нет |
| Статистика по платформам | да | да | да | да | да |
| Статистика по почтовым клиентам и браузерам | да | да | да | да | нет |
Подробнее о разделах статистики — в статье «Статистика по устройствам, почтовым клиентам и браузерам». В тех библиотеках, где нужного метода нет, можно обратиться к API напрямую.
Примеры кода
Примеры для каждого языка — на странице «Официальные библиотеки» документации и в репозиториях библиотек на GitHub.
Если ваш язык или фреймворк не поддерживается, подключитесь через HTTP API или SMTP — см. «Способы интеграции с Haskimail». Для Django и Flask есть отдельное руководство.