Laravel отправляет подтверждение по электронной почте зарегистрированному пользователю

Я новичок в Laravel. Я легко реализовал проверку электронной почты Laravel для зарегистрированных на основе Laravel https://laravel.com/docs/5.8/verification

он отлично работает для тестирования на локальном сервере. теперь я хочу загрузить на сервер. теперь он использует Mailtrap по умолчанию для получения электронных писем всех пользователей.

MAIL_DRIVER=smtp
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=****
MAIL_PASSWORD=****
MAIL_ENCRYPTION=tls

//user.php

class User extends Authenticatable implements MustVerifyEmail
{
    use Notifiable;

Мое требование: после регистрации электронное письмо должно быть отправлено на зарегистрированный адрес электронной почты, а не на учетную запись mailtrap. Я много исследовал это в Google, но все решения предназначены только для отправки электронных писем в mailtrap или другие, но вместо этого я хочу отправить на идентификатор электронной почты пользователя со ссылкой для подтверждения.


person anusha    schedule 15.06.2019    source источник


Ответы (2)


Я предполагаю, что вы успешно внедрили письмо активации. Чтобы ваше приложение отправляло электронную почту на зарегистрированный адрес электронной почты пользователя, вам необходимо предоставить учетные данные SMTP вашего почтового сервера. Для живого приложения вы не можете использовать учетные данные почтового ловушки. Если вы используете учетные данные mailtrap, вы будете получать электронные письма только на свою учетную запись mailtrap.

Если у вас нет действующих учетных данных SMTP-сервера, вы можете создать учетную запись Gmail и использовать учетные данные Gmail SMTP. И еще одно: если вы используете Gmail, измените настройки для Less secure app в своей учетной записи Google.

person user7747472    schedule 15.06.2019
comment
где я получу учетные данные SMTP моего почтового сервера? у тебя есть идеи? - person anusha; 15.06.2019
comment
wpsitecare.com/gmail-smtp-settings проверьте настройки, затем перейдите к вам затем в настройках учетной записи Google и конфиденциальности разрешите «менее безопасное приложение» для установки менее безопасного приложения devanswers.co/allow-less-secure-apps-access-gmail-account - person user7747472; 15.06.2019
comment
У меня есть собственная учетная запись хостинга, и у меня создан идентификатор электронной почты. но я сомневаюсь, какие MAIL_DRIVER, MAIL_HOST и PORT мне следует использовать? - person anusha; 15.06.2019
comment
Затем вам нужно будет проверить вашего хостинг-провайдера на наличие учетных данных smtp, а также порта и хоста. - person user7747472; 15.06.2019
comment
Конечно. я постараюсь - person anusha; 15.06.2019
comment
MAIL_DRIVER = smtp MAIL_HOST = smtp.mydomain.com MAIL_PORT = 465 [email protected] MAIL_PASSWORD = *** MAIL_ENCRYPTION = null это дает мне соединение с smtp.mydomain.com:465 Ошибка истечения времени - person anusha; 15.06.2019
comment
Попробуйте записать как tls - person user7747472; 15.06.2019
comment
да, я решил это. проблема не только в шифровании, но и в порте. Я изменил порт с 465 на 578, но почта уходила в папку спама. Я снова изменил порт на 25, и он работает нормально. - person anusha; 16.06.2019

MAIL_DRIVER=smtp
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=****
MAIL_PASSWORD=****
MAIL_ENCRYPTION=tls

это конфигурация .env, которую вы изменили на свой собственный почтовый сервер. чтобы laravel отправлял электронное письмо с этими настройками зарегистрированным пользователям.

person MekjkrhG    schedule 15.06.2019