Отправка писем с помощью mailgun и Laravel

Я пытаюсь научиться отправлять электронные письма с помощью Mailgun в Laravel. Когда я пытаюсь отправить электронное письмо, я получаю сообщение о тайм-ауте: Превышено максимальное время выполнения 60 секунд Время ожидания приложения здесь:

$line = fgets($this->_out);

У меня есть маршрут, который активируется, когда я нажимаю кнопку на своей странице электронной почты:

Route::post('/email', 'MainController@sendEmail');

Вот моя функция контроллера (заменил мой адрес электронной почты из соображений конфиденциальности):

    public function sendEmail() {
        $data = [
            'title'=>'Email'
        ];
        Mail::send('emails.hello', $data, function($message) {
            $message->from('[email protected]', 'Example Person');
            $message->to('[email protected]')->subject('we made it');
        });
        return Redirect::to('/');
    }

Любые идеи о том, что я могу делать неправильно?


person David Mckee    schedule 10.03.2014    source источник
comment
Как вы настроили Laravel для использования Mailgun? У вас установлен домен в Mailgun? Вы создали свои учетные данные для отправки писем через Mailgun smtp? documentation.mailgun.com/user_manual.html#credentials   -  person Antonio Carlos Ribeiro    schedule 11.03.2014


Ответы (2)


Обычно это происходит, если порт SMTP, используемый в файле конфигурации app/config/mail.php, не открыт вашим хостинг-провайдером. Пожалуйста, проверьте и попросите их открыть порт. Это должно решить проблему.

person Suresh Bala    schedule 01.06.2014

Отправка электронных писем через mailgun не может быть проще, просто добавьте пакет API, опубликуйте и обновите конфигурацию и используйте пользовательский фасад для их отправки (изменив Mail::send() на Mailgun::send())

Пакет можно найти здесь: http://packalyst.com/packages/package/vtalbot/mailgun< /а>

Я знаю, что на самом деле это не устраняет ошибку, которую вы получаете (потребуется дополнительная информация, чтобы помочь с этим), но использование пакета упрощает все это!

person Chris Goosey    schedule 25.04.2014