opensource-workshop / connect-cms

コネクトCMS用リポジトリ
https://connect-cms.jp/
MIT License
13 stars 6 forks source link

システム管理, メール設定画面でMAIL_FROM_NAMEがダブルクォートで囲われていないと変更されない #1401

Closed akagane99 closed 2 years ago

akagane99 commented 2 years ago

概要

.envのMAIL_FROM_NAME="xxxxx"の値は、現在ダブルクォートで囲われています。 https://github.com/opensource-workshop/connect-cms/blob/master/.env.example#L50

MAIL_FROM_NAME="${APP_NAME}"

※ 半角スペースを含むときにダブルクォーテーションで囲む必要ありでした。

しかし以前の.envのMAIL_FROM_NAME=xxxxxの値は、ダブルクォートで囲われてませんでした。

メール設定画面のMAIL_FROM_NAMEは、ダブルクォートありを前提としてたため、画面設定してもMAIL_FROM_NAMEが更新されませんでした。

関連プルリクエスト

実行環境

OS: windows10 ブラウザ: 新Edge Connect-CMS: 2020/09/24 git pull php version: 7.3.0

暫定対応

.envのMAIL_FROM_NAME="xxxxx"の値を、ダブルクォートで囲むことで、画面から変更できるようになります。

プログラム修正案

古い.envと新しい.envで、ダブルクォートありなしがあるなら、どっちも対応する方向かなぁ。

// 修正前
file_put_contents($path, str_replace('MAIL_FROM_NAME="' . config('mail.from.name') . '"', "MAIL_FROM_NAME=\"{$request->mail_from_name}\"", file_get_contents($path)));

// 修正後
file_put_contents($path, str_replace('MAIL_FROM_NAME="' . config('mail.from.name') . '"', "MAIL_FROM_NAME=\"{$request->mail_from_name}\"", file_get_contents($path)));
file_put_contents($path, str_replace('MAIL_FROM_NAME=' . config('mail.from.name'), "MAIL_FROM_NAME={$request->mail_from_name}", file_get_contents($path)));

⇒ ダブルクォートなかったらつけるように見直し必要そう。

補足

Connect-CMSのlaravel6対応でMAIL_FROM_NAME="xxxxx"が追加された。 https://github.com/opensource-workshop/connect-cms/blob/18c01da267a3ca63b10709135f08096bd4d09fe5/.env.example#L64

その1つ前のコミットでは、MAIL_FROM_NAME自体がなかったため、laravel5.5時代の時は、独自でMAIL_FROM_NAMEを追加して対応していたみたい。 https://github.com/opensource-workshop/connect-cms/blob/69b7552c88568916e4d7c8ea817279a2da2f952d/.env.example

akagane99 commented 2 years ago

修正しました。

修正プログラム

https://github.com/opensource-workshop/connect-cms/pull/1402/files