LOGIN ID Password Auto Login Register Now! Lost Password?
XUGJ Forum

メール送信で500エラー

  • このフォーラムはコメント用フォーラムです。新規トピックはたてられません
  • このフォーラムではゲスト投稿が禁止されています
対象モジュール XUGJ News
件名 XOOPS X(ten) 2015712 リリース
要旨 今回は、PHP 7 対応(まだ完璧ではないが、基本動作は問題はない)と PHPMailer ライブラリの 5.2.10 へのバージョンアップ、日本語環境での xoopsmailerlocal.php の脆弱性修正などが含まれています...

投稿ツリー


前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2015/8/1 19:49
heiji  Ensign 居住地: ☆☆☆  投稿数: 251
nao-ponさん

お疲れ様です。
今でもアクティブに更新いただいてありがとうございます。

ところで、バージョンアップしたら、メール送信で500エラーで送信できなくなりました。

以下のエラーが原因のようです。

Fatal error: Class 'SMTP' not found in /***伏せます***/class/mail/phpmailer/class.phpmailer.php on line 1235

とりあえず、/class/mail/phpmailer/class.phpmailer.phpのファイルだけ元のファイルに戻すと直りました。

nao-ponさんがコーディングされた個所ではないので難しいかもしれませんが、何か手掛かりになりそうなことがあればお願い致します。

よろしくお願い致します。

投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2015/8/1 22:37 | 最終変更
heiji  Ensign 居住地: ☆☆☆  投稿数: 251
nao-ponさん

とりあえず、自分なりに原因らしきものが分かりました。
外していたらごめんなさい。

phpmailerの仕様が変ったようで、

require_once(XOOPS_ROOT_PATH.'/class/mail/phpmailer/class.phpmailer.php');

require_once(XOOPS_ROOT_PATH.'/class/mail/phpmailer/PHPMailerAutoload.php');
に書き換えないとダメなようです。

とりあえず、
/class/mail/xoopsmultimailer.php
を書き換えたら、少なくとも私の環境ではエラーなしで動作するようになりました。

ただ、grepすると、他のファイルでも同様な個所があるので、全て書き換えないとダメなのではないでしょうか?

また、XoopsXに含まれない3rd Party製のモジュールにも対応していないものがあると思うので要注意です。
私がInquerySPベースで改造したモジュール(非公開)も修正しないとだめでした。

いろいろ大変だと思いますが、よろしくお願い致します。

投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2015/8/1 23:58
nao-pon  Lieutenant   投稿数: 486
heiji さん、こんにちは。

わわわ・・・これは、私がメール送信方法の SMTP のことをうっかり失念していたことによるミスですね。

レポートありがとうございます。

本来は、PHPMailerAutoload.php を読み込むべきですが、他のモジュールのことを考えると少々面倒なので、class.phpmailer.php で PHPMailerAutoload.php を読み込むようにしました。

外部ライブラリに独自修正を加えるのは良くないのは分かってはいるのですが・・・

どこで、class.phpmailer.php を読み込んでいるのかは、分かり様がないので苦肉の策です。

当該コミットは https://github.com/XoopsX/legacy/commit/2ce8b7773225296bf65859e2300b421e62837... です。

X-update で更新通知が出ると思います。ご確認ください。
投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2015/8/2 0:18 | 最終変更
heiji  Ensign 居住地: ☆☆☆  投稿数: 251
nao-ponさん

ありがとうございます。

ばっちりです!!
早っっっっ!!(笑)

> どこで、class.phpmailer.php を読み込んでいるのかは、分かり様がないので苦肉の策です。

phpmailerも罪つくりですね。。。

これからもよろしくお願い致します。
投票数:0 平均点:0.00
  条件検索へ

Back to Page Top
MainMenu
Manuals
Search
XOOPS Official & Dev.
XOOPS Communities