Изпращането на имейли с 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 бихте ли казали, че това може да е причината за зависванията? изглежда по-скоро като проблем с моя сайт, тъй като имейлите никога не се изпращат, а не забавяне при изпращането им.   -  person CalvinWylie    schedule 09.03.2018
comment
Не съм запознат с този конкретен API, така че не мога да кажа напълно. Ако просто се изпраща на Mailgun, тогава не. Ако изпрати и изчака доставен отговор, тогава вероятно.   -  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