Я создал сайт 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"
Кто-нибудь сталкивался с этой проблемой раньше, если да, то как вы ее решили? Заранее спасибо.






Ваша проблема - почтовая ловушка, которая используется только для тестирования. Чтобы получить настоящую электронную почту на свою учетную запись Gmail или другую учетную запись, вы должны использовать другой MAIL_HOST, такой как smtp.gmail.com, sendgrid или что-то еще. Дай мне знать, если потом тебе понадобится помощь.
Спасибо, я попробую с администратором электронной почты one.com, которого я настроил. Проблема в том, что вам предоставлены только сервер и порт, будет ли имя пользователя просто адресом электронной почты, а пароль - нулевым?
Например, если вы используете gmail smtp, вы должны использовать свой адрес электронной почты в качестве имени пользователя в файле .env. но для MAIL_PASSWORD вам нужно сделать следующее. перейдите в Моя учетная запись> Вход и безопасность> Войти в Google, включите двухэтапную проверку и сгенерируйте пароль приложения. это будет ваш MAIL_PASSWORD. кто знает какие еще smtps работают. Я привел вам пример gmail smtp.
Хорошо, я буду использовать Gmail, как вы предложили. Спасибо
Если вы не планируете отправлять столько писем в минуту, секунду или день, вы можете использовать Gmail. Я использую smtp sendgrid, но я также плачу за каждое электронное письмо, но плата такая дешевая. Бесплатная учетная запись Gmail имеет свои ограничения, возможно, 500 писем в день или месяц. Точно не знаю.
Это только для uni-проекта, поэтому Gmail будет идеальным вариантом, так как не будет большого трафика и большого количества отправляемых писем. Спасибо за вашу помощь.
См. Здесь stackoverflow.com/a/53984440/8487424