Почта Laravel отлично работает локально, не работает

Я создал сайт Laravel локально, и все работает отлично, однако теперь, когда он находится на размещенном сервере, у меня возникли проблемы с электронной почтой. Когда вы регистрируетесь в качестве пользователя, сайт должен отправить вам приветственное письмо и перенаправить вас на страницу с сообщением о том, что вы вошли в систему. Вместо этого электронное письмо не отправляется, и вы в конечном итоге попадаете на пустой экран, однако регистрация прошла успешно. Это мой код.

Зарегистрировать контроллер

protected function create(array $data)
{
    $user = User::create([
        'name' => $data['name'],
        'email' => $data['email'],
        'password' => bcrypt($data['password']),  
    ]);

    Mail::to($data['email'])->send(new WelcomeMail($user));

    return $user;
}

WelcomeMail.php

public function __construct($user)
{
    $this->user = $user;
}

/**
 * Build the message.
 *
 * @return $this
 */
public function build()
{
    return $this->view('emails.welcome');
}

.env

MAIL_DRIVER=smtp
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=*username*
MAIL_PASSWORD=*password*
MAIL_ENCRYPTION=
[email protected]
MAIL_FROM_NAME = "Jonathan Marsden"

Кто-нибудь сталкивался с этой проблемой раньше, если да, то как вы ее решили? Заранее спасибо.

См. Здесь stackoverflow.com/a/53984440/8487424

ManojKiran Appathurai 04.01.2019 23:55
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Поиск нового уровня в Laravel с помощью MeiliSearch и Scout
Поиск нового уровня в Laravel с помощью MeiliSearch и Scout
Laravel Scout - это популярный пакет, который предоставляет простой и удобный способ добавить полнотекстовый поиск в ваше приложение Laravel. Он...
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
В последние годы архитектура микросервисов приобрела популярность как способ построения масштабируемых и гибких приложений. Laravel , популярный PHP...
Как построить CRUD-приложение в Laravel
Как построить CRUD-приложение в Laravel
Laravel - это популярный PHP-фреймворк, который позволяет быстро и легко создавать веб-приложения. Одной из наиболее распространенных задач в...
0
1
77
1

Ответы 1

Ваша проблема - почтовая ловушка, которая используется только для тестирования. Чтобы получить настоящую электронную почту на свою учетную запись Gmail или другую учетную запись, вы должны использовать другой MAIL_HOST, такой как smtp.gmail.com, sendgrid или что-то еще. Дай мне знать, если потом тебе понадобится помощь.

Спасибо, я попробую с администратором электронной почты one.com, которого я настроил. Проблема в том, что вам предоставлены только сервер и порт, будет ли имя пользователя просто адресом электронной почты, а пароль - нулевым?

Jonathan 04.01.2019 16:00

Например, если вы используете gmail smtp, вы должны использовать свой адрес электронной почты в качестве имени пользователя в файле .env. но для MAIL_PASSWORD вам нужно сделать следующее. перейдите в Моя учетная запись> Вход и безопасность> Войти в Google, включите двухэтапную проверку и сгенерируйте пароль приложения. это будет ваш MAIL_PASSWORD. кто знает какие еще smtps работают. Я привел вам пример gmail smtp.

Giorgi Lagidze 04.01.2019 16:03

Хорошо, я буду использовать Gmail, как вы предложили. Спасибо

Jonathan 04.01.2019 16:05

Если вы не планируете отправлять столько писем в минуту, секунду или день, вы можете использовать Gmail. Я использую smtp sendgrid, но я также плачу за каждое электронное письмо, но плата такая дешевая. Бесплатная учетная запись Gmail имеет свои ограничения, возможно, 500 писем в день или месяц. Точно не знаю.

Giorgi Lagidze 04.01.2019 16:06

Это только для uni-проекта, поэтому Gmail будет идеальным вариантом, так как не будет большого трафика и большого количества отправляемых писем. Спасибо за вашу помощь.

Jonathan 04.01.2019 16:11

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