Обзор

Интеграции

Руководство пользователя

Справочник API

Вебхуки

Официальные библиотеки Haskimail

Эти библиотеки поддерживаются разработчиками Haskimail и являются самым простым способом интеграции с вашим приложением.

Не нашли нужной библиотеки?

Если вы не можете найти подходящую библиотеку, ознакомьтесь с нашими  неофициальными библиотеками.

Мы составляем список желаемых плагинов, библиотек и интеграций для Haskimail. Если вы хотите что-то добавить в этот список или внести свой вклад сообщите нам!

Haskimail PHP #

Установка

Библиотека  Haskimail PHP  доступна как пакет composer на  Packagist.org.

Установка с помощью composer

composer require dashamail/haskimail-php

Подключаем

require_once('./vendor/autoload.php');
use Haskimail\HaskimailClient;

Отправка письма

Вот простой пример того, как отправить одно электронное письмо. Больше примеров смотрите в wiki.

Пример запроса

$client = new HaskimailClient("server token");

$sendResult = $client->sendEmail(
	"sender@example.com",
	"receiver@example.com",
	"Test",
	"Привет от Haskimail!"
);

Haskimail Node.js #

Установка

Библиотека Haskimail.js доступна как npm пакет.

Установка с помощью npm

npm install haskimail --save

Подключаем

const { ServerClient } = require("haskimail");

Отправляе письмо

Простой пример для отправки письма. Вы можете обратиться к  полной документации за другими примерами.

Пример запроса

var serverToken = "xxxx-xxxxx-xxxx-xxxxx-xxxxxx";
var client = new ServerClient(serverToken);

client.sendEmail({
	"From": "sender@example.com",
	"To": "recipient@example.com",
	"Subject": "Тест",
	"TextBody": "Привет от Haskimail!"
});

Haskimail Java #

Установка

Библиотека Haskimail Java – официальный Java-клиент для работы с API Haskimail.

Требования:

  • Java 8+
  • Apache HttpClient 5.x
  • Jackson 2.15+

Установка с Maven

<dependency>
<groupId>ru.haskimail</groupId>
<artifactId>haskimail</artifactId>
<version>1.1.0</version>
</dependency>

Отправка письма

Справа вы видите пример запроса, как отправить простое письмо. Посмотрите на wiki-документацию для большего числа примеров.

Пример запроса

// Создание клиента
ApiClient client = Haskimail.getApiClient("ваш-серверный-токен");

// Создание и отправка сообщения
Message message = new Message(
    "отправитель@домен.ru",
    "получатель@домен.ru",
    "Тема письма",
    "

Привет!

Это письмо отправлено через Haskimail.

" ); MessageResponse response = client.deliverMessage(message); System.out.println("ID сообщения: " + response.getMessageId());

Haskimail Python #

Установка

Библиотека Haskimail Python – официальный Python-клиент для работы с API Haskimail. Доступна как PyPI пакет.

Требования:

  • Python 3.10+
  • requests >= 2.28.0

Установка с pip

pip install haskimail

Отправка письма

Справа вы видите пример запроса, как отправить простое письмо. Посмотрите на wiki-документацию для большего числа примеров.

Пример запроса

from haskimail import ServerClient

client = ServerClient("ваш-серверный-токен")

response = client.send_email({
    "From": "отправитель@домен.ru",
    "To": "получатель@домен.ru",
    "Subject": "Тема письма",
    "HtmlBody": "<h1>Привет!</h1><p>Это письмо отправлено через Haskimail.</p>",
})
print(f"ID сообщения: {response['MessageID']}")

Haskimail Go #

Установка

Библиотека Haskimail Go – официальный Go-клиент для работы с API Haskimail. Устанавливается как Go-модуль, документация на pkg.go.dev.

Требования:

  • Go 1.21+
  • Без внешних зависимостей — только стандартная библиотека

Установка с go get

go get github.com/DashaMail/haskimail-go

Подключаем

import "github.com/DashaMail/haskimail-go"

Отправка письма

Справа вы видите пример запроса, как отправить простое письмо. Больше примеров — шаблоны, вложения, обработка ошибок и API аккаунта — в README библиотеки.

Пример запроса

client := haskimail.NewClient("ваш-серверный-токен")

resp, err := client.DeliverMessage(context.Background(), &haskimail.Message{
	From:     "отправитель@домен.ru",
	To:       "получатель@домен.ru",
	Subject:  "Тема письма",
	HTMLBody: "<h1>Привет!</h1><p>Это письмо отправлено через Haskimail.</p>",
})
if err != nil {
	log.Fatal(err)
}
fmt.Println("ID сообщения:", resp.MessageID)

Haskimail .NET #

Установка

Библиотека Haskimail .NET – официальный .NET-клиент для работы с API Haskimail. Пакеты: Haskimail.NET (клиент и вебхуки) и Haskimail.NET.Extensions.DependencyInjection (DI).

Требования: .NET Framework 4.6.2+, .NET Core / .NET 5+ или .NET 8+.

Подключаем

dotnet add package Haskimail.NET

Отправка письма

Пример отправки одного письма. Больше примеров — в README библиотеки.

Пример запроса

using Haskimail;
using Haskimail.Models;

using var client = new HaskimailClient("ваш-серверный-токен");

var result = await client.Email.SendAsync(new EmailMessage
{
    From = "Магазин <shop@example.com>",
    To = "ivan@example.com",
    Subject = "Заказ №1042 оформлен",
    HtmlBody = "<p>Здравствуйте! Заказ №1042 подтверждён.</p>",
    TextBody = "Здравствуйте! Заказ №1042 подтверждён."
});

Console.WriteLine(result.MessageId);

Haskimail Ruby #

Установка

Библиотека Haskimail Ruby – официальный Ruby-клиент для работы с API Haskimail. Покрывает все методы API и разбор вебхуков.

Требования: Ruby 3.1–4.0, без runtime-зависимостей.

Установка

# Gemfile
gem "haskimail"

Отправка письма

Пример отправки одного письма. Больше примеров — в README библиотеки.

Пример запроса

require "haskimail"

client = Haskimail::ServerClient.new(ENV.fetch("HASKIMAIL_SERVER_TOKEN"))

result = client.emails.deliver(
  from: "Магазин <shop@example.com>",
  to: "ivan@example.com",
  subject: "Ваш заказ №1042 оформлен",
  html_body: "<p>Здравствуйте! Заказ №1042 оформлен.</p>",
  text_body: "Здравствуйте! Заказ №1042 оформлен."
)

result.message_id

Haskimail Rails #

Установка

Haskimail Rails – драйвер Action Mailer и API-клиент для Ruby on Rails.

Установка

# Gemfile
gem "haskimail-rails"
bundle install
bin/rails generate haskimail:install

Отправка письма

Письмо уходит через API Haskimail как обычный Action Mailer. Подробнее — в README библиотеки.

Пример запроса

class OrderMailer < ApplicationMailer
  default from: "Магазин <shop@example.com>"

  def created(order)
    haskimail tag: "orders",
              metadata: { order_id: order.id.to_s },
              message_stream: "2081"

    mail to: order.email, subject: "Заказ №#{order.number} оформлен"
  end
end

Haskimail для Symfony Mailer #

Установка

Haskimail для Symfony Mailer – мост между Symfony Mailer и Haskimail: отправка через HTTP API или SMTP, шаблоны, теги, метаданные, трекинг, вложения и приём вебхуков.

Требования: PHP 8.1+, Symfony 6.4 / 7.x / 8.x.

Установка

composer require haskimail/symfony-mailer

Настройка

Задайте DSN транспорта Haskimail. Подробнее — в README библиотеки.

DSN

# .env.local
MAILER_DSN=haskimail+api://SERVER_TOKEN@default?message_stream=2081

Haskimail для Laravel #

Установка

Haskimail для Laravel – почтовый драйвер, API-клиент и приёмник вебхуков для Laravel 11–13.

Требования: PHP 8.2+, Laravel 11.44+ / 12 / 13.

Установка

composer require dashamail/haskimail-laravel

Отправка письма

Письмо уходит через API Haskimail через обычный Mailable. Подробнее — в README библиотеки.

Пример запроса

Mail::to($user)->send(new OrderShipped($order));   // уходит через API Haskimail