どうもこんにちは塚本です。
Laravelでメール送信する際に以下のようなエラーが出たので、対処法を備忘録として残しておこうと思います。
The "" scheme is not supported; supported schemes for mailer "smtp" are: "smtp", "smtps".
.env
のMAIL_MAILER
の値をsmtp
に設定しているのに、空文字が設定されてる的なエラーが出てしまいます。
対処法1:Symfony Mailerのバージョンを下げる
Symfony Mailer 7.2がLaravel11に完全対応していないようなので、composer
でSymfony Mailerのバージョンを下げることで対応できました。
$ composer require "symfony/mailer:~7.1.0"
対処法2:.envの内容を修正する
Symfony Mailerのバージョンは暫定的なものだと思うので、.env
の設定が間違っていないか確認してみてください。
MAIL_MAILER=smtp
MAIL_HOST=
MAIL_PORT=
MAIL_USERNAME=
MAIL_PASSWORD=
MAIL_ENCRYPTION=tls
SMTP認証でメール送信する場合は、MAIL_ENCRYPTION
の値をtls
にすることで正常にメール送信できました。
Laravel11のデフォルト設定
Laravel11では、.env
のメール設定がデフォルトで以下のようになっています。
MAIL_MAILER=log
MAIL_HOST=127.0.0.1
MAIL_PORT=2525
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null
MAIL_FROM_ADDRESS="hello@example.com"
MAIL_FROM_NAME="${APP_NAME}"
MAIL_ENCRYPTION
の値がnull
なので、MAIL_MAILER
をsmtp
に変えただけで送信しようとするとエラーになってしまいますね。
メール送信がうまく行かない方は環境変数設定を確認してみてください!
参考サイト
どうもこんにちは塚本です。
Laravelでメール送信する際に以下のようなエラーが出たので、対処法を備忘録として残しておこうと思います。
The "" scheme is not supported; supported schemes for mailer "smtp" are: "smtp", "smtps".
.env
のMAIL_MAILER
の値をsmtp
に設定しているのに、空文字が設定されてる的なエラーが出てしまいます。対処法1:Symfony Mailerのバージョンを下げる
Symfony Mailer 7.2がLaravel11に完全対応していないようなので、
composer
でSymfony Mailerのバージョンを下げることで対応できました。$ composer require "symfony/mailer:~7.1.0"
対処法2:.envの内容を修正する
Symfony Mailerのバージョンは暫定的なものだと思うので、
.env
の設定が間違っていないか確認してみてください。MAIL_MAILER=smtp MAIL_HOST= MAIL_PORT= MAIL_USERNAME= MAIL_PASSWORD= MAIL_ENCRYPTION=tls
SMTP認証でメール送信する場合は、
MAIL_ENCRYPTION
の値をtls
にすることで正常にメール送信できました。Laravel11のデフォルト設定
Laravel11では、
.env
のメール設定がデフォルトで以下のようになっています。MAIL_MAILER=log MAIL_HOST=127.0.0.1 MAIL_PORT=2525 MAIL_USERNAME=null MAIL_PASSWORD=null MAIL_ENCRYPTION=null MAIL_FROM_ADDRESS="hello@example.com" MAIL_FROM_NAME="${APP_NAME}"
MAIL_ENCRYPTION
の値がnull
なので、MAIL_MAILER
をsmtp
に変えただけで送信しようとするとエラーになってしまいますね。メール送信がうまく行かない方は環境変数設定を確認してみてください!
参考サイト