不具合内容
ローカルで制作し、本番サーバーへアップしました。
ところが問合せフォームよりメール送信をした際にエラーが発生してしまいます。
ローカル環境XAMMPとmailtrapでは問題なく送信できます。
エックスサーバーでは以下のようなエラーが発生してしまいます。
php
1ReflectionException 2Class Swift_Mime_ContentEncoder_NativeQpContentEncoder does not exist
本番サーバーとの何か環境の違いにより発生しているかと思うのですが原因がわかりません。
お力を貸して下さい。
エラー発生個所(MyController.php)
Mail::sendでエラー発生
php
1 public function inquiry_fin(Request $rq){ 2 $dataArray = $rq->all(); 3 4 \Mail::send(array('text' => 'mails.inquiry.inquiry_msg'), $dataArray , function($message) use ($dataArray){ 5 $message->to($dataArray["email"])->subject($dataArray["title"]); 6 }); 7 return view('mails.inquiry.inquiry_fin')->with($dataArray); 8 }
環境
Laravel 6.0.3
PHP 7.2.17
エックスサーバー
.envの設定内容
php
1MAIL_DRIVER=smtp 2MAIL_HOST=sv9999.xserver.jp 3MAIL_PORT=465 4MAIL_USERNAME=info@mydomain 5MAIL_PASSWORD=******** 6MAIL_ENCRYPTION= 7MAIL_FROM_ADDRESS=info@mydomain 8MAIL_FROM_NAME='管理者'
php.iniの設定内容
php
1[mail function] 2SMTP = sv9999.xserver.jp 3smtp_port = 587 4sendmail_path = /usr/sbin/sendmail -t -i
ローカルと本番サーバーのディレクトリ構造の差
※ 本番サーバーのpublic_htmlの中にプロジェクトごとアップした方が良かったのか迷いましたが現状は図の通りです。
試した事
サーバーに依存する設定と思い、php.iniの設定を以下のように変更してみたがダメでした。。
SMTP = localhost(初期値)とsv9999.xserver.jp
smtp_port = 25(初期値)と465と587
また、.envの設定を以下のように変更したがダメでした。
MAIL_PORT=465と587
MAIL_ENCRYPTION=null(初期値)と空欄とssl
※ 設定変更後は
php artisan cache:clearとphp artisan config:cacheを実施
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。