Как правильно интегрировать API mailgun в PHP?

В общем нужно сделать так, чтобы письма через форму обратной связи на сайте приходили с помощью сервиса mailgun.

Зарегистрировался на сайте. Автоматически создался домен: sandbox[набор цифр и букв].mailgun.org и Private API key:b0f15f6a569503501ea3cbb23ebe7406-[ещё несколько цифр].

Далее следую инструкции на GitHub. В командную строку ввожу:
composer require mailgun/mailgun-php kriswallsmith/buzz nyholm/psr7

Генерируется composer.json, composer.lock и папка vendor. Скидываю все это в раздел на ftp-сервере, где находится index.php (файл с тестовым скриптом).

В файле index.php следующий код (взят также с инструкции на ГитХабе):
require 'vendor/autoload.php';
use Mailgun\Mailgun;

// First, instantiate the SDK with your API credentials
$mg = Mailgun::create('key-example'); // For US servers

// Now, compose and send your message.
// $mg->messages()->send($domain, $params);
$mg->messages()->send('example.com', [ //здесь вместо example.com ввожу тот длинный домен, который сгенерировался после регистрации
  'from'    => 'bob@example.com', //сюда ввожу одну свою почту;
  'to'      => 'sally@example.com', //сюда ввожу другую свою почту;
  'subject' => 'The PHP SDK is awesome!',
  'text'    => 'It is so simple to send a message.'
]);

Как я понял, этого достаточно, чтобы начать отправлять тестовые сообщения. Однако при открытии index.php с этим скриптом, ничего не происходит.

Подскажите, пожалуйста, что я сделал не так / чего я не сделал. Спасибо.

UPDATE: при включении вывода ошибок появляется такое: Warning: Unsupported declare 'strict_types' in /home/b/public_html/test/vendor/mailgun/mailgun-php/src/Mailgun.php on line 3.
  • Вопрос задан
  • 364 просмотра
Решения вопроса 1
@dimuska139
Backend developer
По ftp лить код на сервер не правильно. Особенно вместе с папкой vendor. Дело в том, что зависимости, которые туда установились при запуске composer, именно тех версий, которые совместимы именно с той версией PHP, которая на том компе, где ты их устанавливал. То есть если ты на домашнем компе с PHP 7, например, запустил composer, то библиотека установилась в vendor той версии, которая совместима именно с PHP 7. И на сервере, где PHP 5, она нормально работать не будет.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы