Отправка писем с помощью 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 также не показывают, что что-то идет не так.

Спасибо


person CalvinWylie    schedule 09.03.2018    source источник
comment
Это может быть плохой день для тестирования: status.mailgun.com/incidents/9nj4mzscl69g Служба должно быть восстановлено и запущено (-ish) сейчас.   -  person aynber    schedule 09.03.2018
comment
@aynber не могли бы вы сказать, что это может быть причиной зависаний? это больше похоже на проблему с моим сайтом, так как emaisl никогда не отправляются, а не на задержку с их отправкой.   -  person CalvinWylie    schedule 09.03.2018
comment
Я не знаком с этим конкретным API, поэтому не могу сказать полностью. Если он просто подчиняется Mailgun, то нет. Если он отправляет и ждет ответа Delivered, то, возможно.   -  person aynber    schedule 09.03.2018
comment
насколько мне известно, он не ждет доставленного ответа, так как это может занять некоторое время после того, как API примет почту. может быть, просто API не отвечал из-за их исправлений?   -  person CalvinWylie    schedule 09.03.2018


Ответы (1)


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

person mchfrnc    schedule 14.10.2019
comment
Однако он гласит: «Пока не существует белого списка, всем IP-адресам разрешен доступ по умолчанию». - person Tom Söderlund; 24.11.2019