Я пытаюсь отправить электронное письмо из приложения laravel 5.4 и использую хост smtp.gmail.com, он отлично работает на локальном хосте, но не на живом сервере. как отправить электронную почту из приложения laravel без использования mailtrap, используя smtp.gmail.com. могу я узнать, какие изменения мне нужно сделать в файлах .env и mail.php? Пожалуйста, проверьте код моих файлов .env и mail.php, а также найдите снимок экрана с ошибкой, которую я получаю.

Пожалуйста, никогда не сообщайте URL-адреса изображений, вместо этого загрузите изображение прямо в свой пост.
Проверьте свои журналы ошибок, чтобы узнать, отклоняет ли Google ваши письма из-за отсутствия a-записи DNS для вашего заголовка From.
да, я пробовал, но не повезло
Я создал пароль приложения, и подробности файла env приведены ниже MAIL_DRIVER = smtp MAIL_HOST = smtp.gmail.com MAIL_PORT = 586 [email protected] MAIL_PASSWORD = мой пароль приложения
Я перепробовал все варианты, а также изменил порт, но не повезло
когда я использую почту как MAIL_DRIVER, он отправляет почту, но не получает
Пожалуйста, помогите мне, если у кого-то есть решение






Сделайте ваш файл .env примерно таким:
MAIL_DRIVER=sendmail
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
[email protected]
MAIL_PASSWORD=apppassword
MAIL_ENCRYPTION=tls
Для пароль приложения читать в разделе Как сгенерировать пароль приложения:
После изменения .env должен быть очищен кеш: php artisan config:cache
Привет, @pradnyaahire. Откройте указанный выше ссылка на сайт, нажмите «Включить». И сохраните это. Затем попробуйте отправить электронное письмо еще раз
На самом деле, я использовал аутентификацию по умолчанию в своем приложении и пытаюсь отправить ссылку для сброса пароля. На локальном хосте он работает нормально, но на живом сервере он не работает. Не удалось установить соединение с хостом smtp.gmail.com [Время ожидания соединения истекло # 110] .... подробности моего файла .env приведены ниже MAIL_DRIVER = smtp MAIL_HOST = smtp .gmail.com MAIL_PORT = 587 [email protected] MAIL_PASSWORD = mypassword MAIL_ENCRYPTION = tls
@pradnyaahire Измените и попробуйте это: 'MAIL_ENCRYPTION' => ssl, 'MAIL_PORT' => 465, После завершения редактирования .env должен быть очищен кеш
изменил порт и MAIL_ENCRYPTION, но получил ту же ошибку
@pradnyaahire заменил 'driver' => env ('MAIL_DRIVER', 'smtp'), `на 'driver' => 'sendmail', в config / mail.php
Только нужно изменить MAIL_DRIVER? остальное как есть? MAIL_DRIVER = sendmail MAIL_HOST = smtp.gmail.com MAIL_PORT = 587 [email protected] MAIL_PASSWORD = mypassword MAIL_ENCRYPTION = ssl
Я изменил SMTP MAIL_DRIVER на sendmail. мое письмо отправляет и дает сообщение "Мы отправили вам ссылку для сброса пароля по электронной почте!" но не получает почту.
Не могли бы вы поделиться деталями, которые необходимо сделать в файле .env и файле mail.php для отправки почты на живом сервере?
с вашим обновленным ответом письмо отправляется, но не получает
@pradnyaahire Вы все еще сталкиваетесь с проблемой?
Да, я все еще сталкиваюсь с проблемой
@pradnyaahire, пожалуйста, настройте так в настройках Gmail Настройки> Пересылка и POP / IMAP> Загрузка POP: Включить POP для всей почты Доступ IMAP: Включить IMAP Разрешить менее безопасные приложения: НА
Привет, @Udhav Sarvaiya, я внес все изменения, как вы указали в вашей команде. но с помощью sendmail отправляет почту, но не получает, а с помощью smtp дает указанную выше ошибку
Я действительно расстроен
@pradnyaahire Попробуйте использовать другую учетную запись Google или проверьте код в других проектах, чтобы узнать, неправильный ли код.
Копировать вставленную трассировку ошибки всегда предпочтительнее, чем изображение.