フォーラム掲示板について

以下の目的、注意点などご確認いただき、ご使用ください。

目的
Connect-CMSのユーザやConnect-CMSに興味のある方同士で自由に意見交換できる場を提供する目的で、コミュニティ掲示板として提供しています。
投稿方法
このサイトにユーザー登録することで、投稿することができます。
投稿内容
投稿内容は公開されます。
Connect-CMSに無関係な内容が記載されたと判断した場合、削除することがあります。
バグ情報
バグ(不具合)はGithub のIssues(https://github.com/opensource-workshop/connect-cms/issues)に記載していただくと、開発者に伝わりやすくなります。
また、セキュリティなど重大な事象の場合は、お問い合わせページよりお知らせください。優先的に調査いたします。
また、貢献ガイド(https://connect-cms.jp/abount/contributions)も参照をお願いします。

フォーラムでのサポート範囲

当フォーラムでは、Connect-CMSのトラブルなどの相談も記載いただけますが、作業を肩代わりするものではありません。
作業の依頼は、株式会社オープンソース・ワークショップの調査メニューなどをご検討ください。
https://opensource-workshop.jp/service/rescue

フォーラム掲示板

Re3: システム管理のメール送信テストで 500 internal server error

2024年6月13日 15時21分 [永原 篤]

永原@スマホです。

朝の永原のテストは、PHP8.1でした。

以上

スレッドの記事一覧

いつもお世話になっております!!

タイトルの内容について以下のようにご報告とともに解決したいので、ご助力よろしくお願いいたします。

1. 当方環境

OS: macOS Sonoma 14:5
ブラウザ: Google Chrome 125.0.6422.142(Official Build) (arm64)
Connect-CMS: 1.18.3
php version: 8.2.15
サーバ さくらのレンタルサーバ(メールアドレスの発行もこのサーバにて)

2.再現手順

(1)「管理者メニュー」→「システム管理」→「メール設定」でSMTP設定を行う(後述)

(2)「メール送信テスト」で「宛先メールアドレス」「件名」「本文」を入力の上、「送信」ボタンをクリック

3. 症状

mail-smtp-test1

4.ログ

pathは dummy という文字を使って、一部伏せております。

[2024-06-13 13:01:01] production.ERROR: Callables of the form ["Swift_SmtpTransport", "Swift_Transport_EsmtpTransport::__construct"] are deprecated {"userId":1,"exception":"[object] (ErrorException(code: 8192): Callables of the form ["Swift_SmtpTransport", "Swift_Transport_EsmtpTransport::__construct"] are deprecated at /home/dummy/www/dummy/vendor/swiftmailer/swiftmailer/lib/classes/Swift/SmtpTransport.php:36)

5.「メール設定」の内容

(1)「SMTPサーバアドレス」には、さくらのレンタルサーバの"初期ドメイン"を使用しています。

(2)設定にあたり、さくらインターネットのこちらのサイトを参照しました。

(3)「SMTPサーバのポート番号」として、25, 465, 587, 2525 の4通りを試しました。いずれも 500 エラーとなります。

(4)「メール暗号化」では、25と2525については「設定なし」を、465と587では「TLS」を指定しました。

mail-smtp-test3

6. メールアカウントの有効性

さくらのレンタルサーバで発行したメールアカウントです。

メーラー(Thunderbird)を用いて、当該メールアカウントでメールの送受信ができることを確認済みです。

このとき、SMTPサーバのポート番号は 587の場合はSTARTTLS を使い、465の場合はSSL/TLSを使いました。どちらのポート番号であっても、メーラーからは送信できます。

7. 実現したいこと

ログイン画面の「パスワードを忘れた場合」リンクから「パスワードのリセットリンクを送信する」からメールを送信できるようにしたいです。現状は、以下のようなエラーが発生します。

password-forget

お世話になっております。OSWS井上です。

永原より言伝を頼まれており、下記、サンプルご提示させて頂きます。

========================

MAIL_DRIVER=smtp
MAIL_HOST=xxxxxx.sakura.ne.jp ※さくらのレンタルサーバーの初期ドメイン
MAIL_PORT=587
MAIL_USERNAME=yyyyyy@xxxxxx.sakura.ne.jp ※さくらのレンタルサーバーの初期ドメインでのメールアドレス
MAIL_PASSWORD=******
MAIL_ENCRYPTION=tls
MAIL_FROM_ADDRESS=yyyyyy@独自ドメイン ※ここは独自ドメイン
MAIL_FROM_NAME="任意"

========================

尚、さくらドメインではありませんが、
私の手元の環境(Win+Xampp+CC:1.18.3)でメール送信テストしたところ、
問題なく受信まで確認ができました。

    井上さま

    Resありがとうございます。

    ご指摘の内容は .env ファイルの中身と思いますが、私の方の設定も確認しましたが、特に変なところは見当たりませんでした。

    SMTP認証とは関係のない些細な差異はありましたので、一応、以下のように再設定して、「メール送信テスト」をしてみましたところ、やはり「500 internel server error」となり、メールを送信できませんでした。

    PHPのバージョンは何をご利用でしょうか。

    _env

    _settings

    Re3: システム管理のメール送信テストで 500 internal server error
    2024-06-13 [永原 篤]

    永原@スマホです。

    朝の永原のテストは、PHP8.1でした。

    以上

    あと、ログにヒントがあるので、ログは見た方が良いと思いますよ〜。

    永原さま、井上さま

    さくらのコントロールパネルで、PHPを 8.2.15 から 7.4.33(7系で選択できる最高位のもの) にダウングレードしてみましたところ、「メール送信テスト」がちゃんと動作しました!メールも届いています。ただし、Google Workspace宛に送ったものは迷惑メール扱いになってましたw

    スクリーンショット 2024-06-13 15.35.25

    次に、ギリギリサポート中の8.1系(8.1.27)を選択してみましたところ、これもちゃんと送信できました!

    8.2系からはダメみたいです。ログの中身に「are deprecated」とあるのでちょっと気になってました。