Sending emails with Mailgun occasionally hangs and doesn't send email

十年热恋 提交于 2020-01-05 12:58:35

问题


So ive just implmented mailgun into a website for sending contact form info. This works some of the time, but mostly the page hangs when i press send with the message "waiting for url..." in the bottom left of chrome.

There is no ssl on the server hence the strange mailgun constructor.

This is my php which is placed just inside the body of my website.

<?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');
        }

    ?>

This is the form code:

<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>

I'm not getting any errors when the email is not sent. The page will eventually reload after the submit button is pressed but the header redirect is not being applied (which im assuming is because the email was not sent successfully).

The php error logs do not show anything going wrong either.

Thanks


回答1:


Maybe that's a (very) late answer, but I've just met the same problem. And I discovered, that Mailgun has whitelist of IP addresses, so in case you haven't added there your public IP address, the connection to Mailgun's API will never be established. At the moment of writing this answer, the whitelist is present under this link: https://app.mailgun.com/app/account/security/api_keys



来源:https://stackoverflow.com/questions/49200129/sending-emails-with-mailgun-occasionally-hangs-and-doesnt-send-email

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!