Gmail OAuth2 SMTP XOAUTH2 mail transport for Laravel 10, 11, and 12 using Symfony Mailer.
Run the following command on your Laravel project root directory:
composer require pioneeringtechlab/laravel-gmail-oauth-mailer:^1.0php artisan vendor:publish --tag=gmail-oauth-mailer-configIn config/mail.php, add a mailer:
'mailers' => [
// ...
'gmail-oauth' => [
'transport' => 'gmail-oauth',
],
],MAIL_MAILER=gmail-oauth
MAIL_FROM_ADDRESS=youraddress@gmail.com
MAIL_FROM_NAME="${APP_NAME}"
GMAIL_OAUTH_EMAIL=youraddress@gmail.com
GMAIL_OAUTH_CLIENT_ID=your-google-client-id
GMAIL_OAUTH_CLIENT_SECRET=your-google-client-secret
GMAIL_OAUTH_REFRESH_TOKEN=your-refresh-token
GMAIL_OAUTH_SCOPE=https://mail.google.com/
GMAIL_OAUTH_HOST=smtp.gmail.com
GMAIL_OAUTH_PORT=587
GMAIL_OAUTH_ENCRYPTION=tlsAfter editing env/config values:
php artisan config:clear- For Gmail SMTP OAuth2, the usual scope is
https://mail.google.com/. - Port
587normally usesGMAIL_OAUTH_ENCRYPTION=tls. - Port
465normally usesGMAIL_OAUTH_ENCRYPTION=ssl. - This package refreshes the access token when Laravel creates the mail transport. It does not cache the access token.