Мы более не предоставляем веб-сервис рассылок, так как считаем ePochta Mailer более выгодным предложением.
Вы получаете программу для рассылок за 2900 руб. без ежемесячных платежей.
Подробнее

Пример подключения к шлюзу ePochta Mail 3.0 на PHP

Вам необходимо обладать базовыми знаниями PHP, чтобы с лёгкостью интегрировать mail шлюз в своей проект. В любом случае наши специалисты готовы помочь в настройке подключения. Если у вас возникнут какие-либо вопросы или проблемы, обращайтесь в службу технической поддержки.

Ниже приведен пример использования возможностей шлюза ePochta Mail с использованием языка программирования PHP. Наши специалисты подготовили специальный класс, с использованием которого вы сможете с лёгкостью интегрировать отправку смс в свой проект.

 

 

Вам необходимо заполнить значение переменных $privateKey, $publicKey, которые можно взять в личном кабинете в разделе Настройки Mail сервиса. Также не забудьте там же активировать использование API. Используйте кодировку UTF-8 для корректной работы.


Пример использования класса:


Создание экземпляра класса

<?php
include 'api-email.php'; 
$publicKey = 'd0f0c63b5zxc0df330fdcc0421c18dd1';
$privateKey = '0e7f13944cxc5f19ef27cafeab6628fd';
// ===========================================================================
// создаем экземпляр класса ApiEmailService
// ===========================================================================
$apiEmail = new ApiEmailService($publicKey, $privateKey);
// ===========================================================================
Операции с адресными книгами
// ===========================================================================
// Операции с адресными книгами
// ===========================================================================
// создание адресной книги
$res = $apiEmail->addAddressBook('one address home');
if (isset($res["error"])) { // проверяем успешность операции
    die("Ошибка: " . $res["error"]);
} else {
// получаем ID книги
    $addrbook_id = $res['result']["addressbook_id"];
}
// ---------------------------------------------------------------------------
// удаление адресной книги
$addrbook_id = 123; // 123 - id адресной книги
$res = $apiEmail->delAddressBook($addrbook_id);
if (isset($res["error"])) { // проверяем успешность операции
    die("Ошибка: " . $res["error"]);
} else {
    // Успех
}
// ---------------------------------------------------------------------------
// получение информации об адресной книге
$addrbook_id = 123; // 123 - id адресной книги
$res = $apiEmail->getAddressBook($addrbook_id);
if (isset($res["error"])) { // проверяем успешность операции
    die("Ошибка: " . $res["error"]);
} else {
    /* успех, получим примерно такой массив, см. описание методов API
      $res = array(
        ['id'] => 123,
        ['name'] => atompark,
        ['all_email_qty'] => 61,
        ['active_email_qty'] => 55,
        ['inactive_email_qty'] => 0,
        ['activation_request_qty'] => 5,
        ['creationdate'] => 2012-06-27 15:50:10
      )
     */
}
// ===========================================================================
Операции с адресами
// ===========================================================================
// Операции с адресами
// ===========================================================================
/*  добавление адресов в адресную книгу
 *  следует помнить, что на загрузку адресов в адресную книгу нужно некоторое время
 */
$addrbook_id = 123; // 123 - id вашей адресной книги
$emails = array('email1@addr.com', 'email2@addr.com'); // массив адресов
$res = $apiEmail->addAddressesNew($addrbook_id, $emails);
// еще пример, добавление персонализированных адресов а несколько адресных книг
$addrbooks = array(124, 125); // массив id ваших адресных книг
$variables = array(// массив переменных, кол-во элементов должно совпадать с кол-вом адресов
    0 => array('name' => 'Иваннов', 'age' => 32),
    1 => array('name' => 'Петров', 'age' => 28));
$res = $apiEmail->addAddressesNew($addrbooks, $emails, $variables);
if (isset($res["error"])) { // проверяем успешность операции
    die("Ошибка: " . $res["error"]);
} else {
    // Успех
}
// ---------------------------------------------------------------------------
/* активация адресов адресной книги
 * операция отправляет все неактивные адреса адресной книги на модерацию 
 */
$addrbook_id = 123; // 123 - id вашей адресной книги
$res = $apiEmail->activateEmails($addrbook_id, 'Произвольное описание, откуда взят список адресов');
if (isset($res["error"])) { // проверяем успешность операции
    die("Ошибка: " . $res["error"]);
} else {
    /* успех, возвращется кол-во адресов отправленых на активацию
      $res = array(
      ['activation_request_qty'] => 2
      );
     */
}
// ---------------------------------------------------------------------------
// блокирование/разблокирование адреса (для активных или отключенных адресов)
$status = 1; // 0 - заблокировать адрес, 1 - разблокировать адрес
$addrbook_id = 123; // 123 - id вашей адресной книги
$res = $apiEmail->changeEmailStatus($addrbook_id, 'email2@addr.com', $status);
if (isset($res["error"])) { // проверяем успешность операции
    die("Ошибка: " . $res["error"]);
} else {
    // Успех
}
// ---------------------------------------------------------------------------
// удалить адрес
$addrbook_id = 123; // 123 - id вашей адресной книги
$res = $apiEmail->delEmail($addrbook_id, 'ed@staffcop.ru');
if (isset($res["error"])) { // проверяем успешность операции
    die("Ошибка: " . $res["error"]);
} else {
    // Успех
}
// ===========================================================================
Операции с рассылками (кампаниями)
// ===========================================================================
// Операции с рассылками (кампаниями)
// ===========================================================================
// статистика по кампании
$task_id = 123; // 123 - id компании
$res = $apiEmail->getCampaignStats($task_id);
if (isset($res["error"])) { // проверяем успешность операции
    die("Ошибка: " . $res["error"]);
} else {
    /* успех, получим примерно такой массив, см. описание методов API
      $res = array(
        ['id'] => 123,
        ['name'] => test,
              ['statistics'] => array (
              ['sent'] => 23,
              ['delivered'] => 15,
              ['open'] => 2,
              ['visit_link'] => 0,
              ),
        ['status'] => 3,
        ['count'] => 24,
        ['tariff_email_qty'] => 24,
        ['paid_email_qty'] => 0,
        ['overdraft_price'] => 0,
        ['ovedraft_currency'] => UAH
      );
     */
}
// ---------------------------------------------------------------------------
// информация по кампаниям пользователя (возможны параметры start, offset)
$start = 0;  
$offset = 10;
$res = $apiEmail->getCampaign($start, $offset); // выборка кампаний с 1 по 10
if (isset($res["error"])) { // проверяем успешность операции
    die("Ошибка: " . $res["error"]);
} else {
      /* успех, получим примерно такой массив, см. описание методов API
      $res = array(
            [35] => Array
                (
                    [name] => testSend
                    [message] => Array
                        (
                            [sender_name] => Mixail
                            [sender_email] => exmpl@email.com
                            [subject] => Тест
                            [body] => PHRhYmxlIHN0eWxlPSJib3JkZXIt
                            [list_id] => 38
                            [attachments] => 
                        )

                    [status] => 3
                    [count] => 2
                    [tariff_email_qty] => 2
                    [paid_email_qty] => 0
                    [overdraft_price] => 0
                    [ovedraft_currency] => UAH
                )
      )
     */  
}
// ---------------------------------------------------------------------------
// создание кампании
$sender_name = 'Имя отправителя';
$sender_email = 'send@email.com'; // адрес отправителя
$sender_email = 'home7519@yandex.ru'; // адрес отправителя
$subject = 'Тема письма';
$body = 'Текст письма';
$addrbook_id = 123; // ID адресной книги
$name = 'Имя рассылки'; 
$attachments = array();
$attachments['file1.txt'] =  'содержание файла';  // первое вложение
$attachments['demo.jpg'] =  file_get_contents('demo.jpg'); // второе вложение  

$res = $apiEmail->createCampaign($sender_name, $sender_email, $subject, $body,
                                              $addrbook_id, $name, $attachments);
if (isset($res["error"])) { // проверяем успешность операции
    die("Ошибка: " . $res["error"]);
} else {
    /* успех, получим примерно такой массив, см. описание методов API
    $res = array(
        ['id'] => 7265,
        ['status'] => 1,
        ['count'] => 1,
        ['tariff_email_qty'] => 1,
        ['paid_email_qty'] => 0,
        ['overdraft_price'] => 0,
        ['ovedraft_currency'] => UAH,
    );
     */
}
// ---------------------------------------------------------------------------
// статистика по адресам кампании (возможны параметры start, offset)
$start = 0;  
$offset = 1;
$res = $apiEmail->getCampaignDeliveryStats(50, $start, $offset);
if (isset($res["error"])) { // проверяем успешность операции
    die("Ошибка: " . $res["error"]);
} else {
    /* успех, получим примерно такой массив, см. описание методов API
     $res = array (
            [0] => array (
                    [0] => exmpl@email.com
                    [1] => 1
                    [2] => 2012-07-10 09:23:17
                )

        )....
     */
}
// ===========================================================================
Операции с балансом
// ===========================================================================
// Операции с балансом
// ===========================================================================
// получить баланс в заданной валюте
$res = $apiEmail->getUserBalance('UAH');
if (isset($res["error"])) { // проверяем успешность операции
    die("Ошибка: " . $res["error"]);
} else {
    /* успех, возвращает массив, баланс и валюту
     $res = array(
        ['balance_currency'] => 81.9
        ['currency'] => UAH
    )
     */
}
// ===========================================================================
Операции с отправителями
// ===========================================================================
// Операции с отправителями
// ===========================================================================
// получить список отправителей (возможны параметры start, offset)
$start = 0;  
$offset = 10;
$res = $apiEmail->getSender($start, $offset);
if (isset($res["error"])) { // проверяем успешность операции
    die("Ошибка: " . $res["error"]);
} else {
    /* успех, возвращает массив адресов отправителей
     $res = array (
            [0] => exmpl1@email.com
            [1] => exmpl2@email.com
        )
     */
}
// ---------------------------------------------------------------------------
// добавить отправителя
$sender_name = 'Имя отправителя';
$sender_email = 'exmpl3@email.com'; // адресс отправителя
$res = $apiEmail->addSender($sender_name, $sender_email);
if (isset($res["error"])) { // проверяем успешность операции
    die("Ошибка: " . $res["error"]);
} else {
    /* успех */
}
// запросить код активации на почтовый ящик отправителя
$sender_email = 'exsampl@email.com';
$res = $apiEmail->getSenderActivateCode($sender_email);
if (isset($res["error"])) { // проверяем успешность операции
    die("Ошибка: " . $res["error"]);
} else {
    // Успех
}
// ---------------------------------------------------------------------------
// активировать e-mail отправителя по коду активации
$sender_email = 'exsampl@email.com';
$code_activate = 'ea59478fde77ea86a0b43d199254e671'; 
$res = $apiEmail->activateSender($sender_email, $code_activate);
if (isset($res["error"])) { // проверяем успешность операции
    die("Ошибка: " . $res["error"]);
} else {
    // Успех
}
// ---------------------------------------------------------------------------
// удаление отправителя
$sender_email = 'exsampl@email.com';
$res = $apiEmail->delSender($sender_email);
if (isset($res["error"])) { // проверяем успешность операции
    die("Ошибка: " . $res["error"]);
} else {
    // Успех
}
// ===========================================================================
Операции со списками отписавшихся
// ===========================================================================
// Операции со списками отписавшихся
// ===========================================================================
// получить список отписавшихся  (возможны параметры start, offset)
$start = 0;  
$offset = 10; // первые 10 отписавшихся
$res = $apiEmail->getBlackList($start, $offset);
if (isset($res["error"])) { // проверяем успешность операции
    die("Ошибка: " . $res["error"]);
} else {
    /* успех, получим примерно такой массив, см. описание методов API
      $res = array(
        [0] => exmpl@email.com
        [1] => exmpl1@email.com
        .....
      )
     */
}
// ---------------------------------------------------------------------------
// добавить отписавшегося
$block_email = 'exmp4l4@email.com'; // адрес для отписки от рассылок
$comment = 'Ваш комментарий к блокировке адреса';
$res = $apiEmail->addBlackList($block_email, $comment);
if (isset($res["error"])) { // проверяем успешность операции
    die("Ошибка: " . $res["error"]);
} else {
    // Успех
}
// ---------------------------------------------------------------------------
// удалить отписавшегося
$del_email = 'exmp4l4@email.com'; // удаляемый адрес
$res = $apiEmail->delBlackList($del_email);
$res = $apiEmail->addBlackList($block_email, $comment);
if (isset($res["error"])) { // проверяем успешность операции
    die("Ошибка: " . $res["error"]);
} else {
    // Успех
}