Отправка писем с помощью Mailgun иногда зависает и не отправляет электронную почту

Итак, я только что внедрил mailgun на веб-сайт для отправки информации из контактной формы. Иногда это работает, но в основном страница зависает, когда я нажимаю кнопку отправки с сообщением «Ожидает url ...» в нижнем левом углу Chrome.

На сервере нет ssl, отсюда и странный конструктор mailgun.

Это мой php, который находится внутри тела моего веб-сайта.

<?php

        require 'mailgun-php/vendor/autoload.php';
        use Mailgun\Mailgun;

        if (isset($_POST['register'])){
            $message = "Contact Form.\n\n".
                "Name: ".$_POST['name']."\n".
                "Email: ".$_POST['email']."\n".
                "Message: ".$_POST['message']."\n";

            $mg = new Mailgun(*my key*, "api.mailgun.net", "v2", false);
            $domain = *my domain*;

            $mg->sendMessage($domain, array(
                'from'=>'Contact Form <build@<url>>',
                'to'=> *email*,
                'subject' => ' Contact Form',
                'text' => $message
                )
            );
            header('Location: ?sent=1');
        }

    ?>

Это код формы:

<form method = "post" action = "index.php">

    <div class = "row 50%">
        <div class = "6u 12u$(mobile)"><input type = "text" class = "text" name = "name" placeholder = "Name" /></div>
        <div class = "6u$ 12u$(mobile)"><input type = "text" class = "text" name = "email" placeholder = "Email" /></div>
        <div class = "12u$">
            <textarea  name = "message" placeholder = "Message"></textarea>
        </div>
        <div class = "12u$">
            <button class = "button" type = "submit" name = "register"> Send Message </button>
        </div>
    </div>

</form>

Я не получаю никаких ошибок, если письмо не отправлено. Страница в конечном итоге перезагрузится после нажатия кнопки отправки, но перенаправление заголовка не применяется (что, как я предполагаю, связано с тем, что электронное письмо не было отправлено успешно).

Журналы ошибок php также не показывают, что что-то пошло не так.

Спасибо

Это может быть плохой день для тестирования: status.mailgun.com/incidents/9nj4mzscl69g Служба должна быть запущена и запущена (-иш) сейчас.

aynber 09.03.2018 19:38

@aynber вы бы сказали, что это может быть причиной зависаний? это больше похоже на проблему с моим сайтом, поскольку электронные письма никогда не отправляются, а не с задержкой с их отправкой.

CalvinWylie 09.03.2018 19:40

Я не знаком с этим конкретным API, поэтому не могу сказать полностью. Если он просто отправляется в Mailgun, то нет. Если он отправляет и ждет ответа «Доставлено», то возможно.

aynber 09.03.2018 19:41

насколько мне известно, он не ждет доставленного ответа, так как это может занять некоторое время после того, как api примет почту. может быть, это просто api не отвечал из-за их исправлений?

CalvinWylie 09.03.2018 19:45
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
1
4
418
1

Ответы 1

Может быть, это (очень) поздний ответ, но я только что столкнулся с той же проблемой. И я обнаружил, что Mailgun имеет белый список IP-адресов, поэтому, если вы не добавили туда свой общедоступный IP-адрес, соединение с API Mailgun никогда не будет установлено. На момент написания этого ответа белый список присутствует по этой ссылке: https://app.mailgun.com/app/account/security/api_keys

Однако он гласит: «До тех пор, пока не будет белого списка, всем IP-адресам разрешен доступ по умолчанию».

Tom Söderlund 24.11.2019 02:38

Другие вопросы по теме