リモートサーバーにて、自サイトの問い合わせフォームからメール送信ができません。
タイトルの通り、
Unable to resolve NULL driver for [Illuminate\Mail\TransportManager].
というエラーになってしまいます。
こちらはローカルで試した際には、無事メールを送信することができたのですが、リモートではそれが叶いませんでした。
何か環境設定が足りないような気がしているのですが、それが分かりません。
.envのメール設定も含めて、ローカルのプログラムをリモートに一通り反映させています。
ホストはgmailに設定していて、ローカルで試した際には「安全性の低いアプリのアクセス」を許可し、その後2段階認証を有効化し、アプリパスワードを発行しました( こちらはリモートサーバーでも同じことをまた別にやる必要があるでしょうか? )
リモートで同じエラーを吐き出していた時に試したのは、mail.phpのhostやport番号やencryptionをそれぞれ変更してみたり(例えば、port番号を587から465へ)。しかしそれもダメで、.envもそれに合わせて変えてみましたが、それでも終始同じエラーでした。
現在の.envのプログラムはこのようになっております。
MAIL_DRIVER=smtp MAIL_HOST=smtp.gmail.com MAIL_PORT=587 MAIL_USERNAME=exempleMy@gmail.com MAIL_PASSWORD=[アプリパスワード] MAIL_ENCRYPTION=tls MAIL_FROM_ADDRESS=exempleMy@gmail.com MAIL_FROM_NAME=[アプリパスワード発行時のネーム]
こちらは現在のmail.phpになります。
<?php return [ 'default' => env('MAIL_MAILER', 'smtp'), 'mailers' => [ 'smtp' => [ 'transport' => 'smtp', 'host' => env('MAIL_HOST', 'smtp.mailgun.org'), 'port' => env('MAIL_PORT', 587), 'encryption' => env('MAIL_ENCRYPTION', 'tls'), 'username' => env('MAIL_USERNAME'), 'password' => env('MAIL_PASSWORD'), 'timeout' => null, 'auth_mode' => null, ], 'ses' => [ 'transport' => 'ses', ], 'mailgun' => [ 'transport' => 'mailgun', ], 'postmark' => [ 'transport' => 'postmark', ], 'sendmail' => [ 'transport' => 'sendmail', 'path' => '/usr/sbin/sendmail -bs', ], 'log' => [ 'transport' => 'log', 'channel' => env('MAIL_LOG_CHANNEL'), ], 'array' => [ 'transport' => 'array', ], ], 'from' => [ 'address' => env('MAIL_FROM_ADDRESS', 'hello@example.com'), 'name' => env('MAIL_FROM_NAME', 'Example'), ], 'markdown' => [ 'theme' => 'default', 'paths' => [ resource_path('views/vendor/mail'), ], ], ];
そしてこちらは Mailableクラスになります。
<?php namespace App\Mail; use Illuminate\Bus\Queueable; use Illuminate\Contracts\Queue\ShouldQueue; use Illuminate\Mail\Mailable; use Illuminate\Queue\SerializesModels; class ContactSendmail extends Mailable { use Queueable, SerializesModels; private $email; private $title; private $body; /** * Create a new message instance. * * @return void */ public function __construct( $inputs ) { $this->email = $inputs['email']; $this->title = $inputs['title']; $this->body = $inputs['body']; } /** * Build the message. * * @return $this */ public function build() { return $this ->from('exempleMy@gmail.com') ->subject('お問い合わせ内容') ->view('layouts.mail') ->with([ 'email' => $this->email, 'title' => $this->title, 'body' => $this->body ]); } }
環境です。
windows10
Laravel Framework 5.8.38 → ローカル環境ではv7.3でした。
conoha VPS
teraterm
もしかするとですが、SSL証明書にメールアドレスを登録していないのですが、そちらを登録すると改善されるのでしょうか。
長文失礼いたしました。
どうかよろしくお願い致しますm(__)m
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/12/23 11:23
2021/12/23 12:23
2021/12/23 14:49
2021/12/24 09:25