1.0.19J + cfFormMailerでメールフォームから送信するとFatal errorになります  【解決済み】

質問全般・改善要望
ryocka
メンバー
メンバー
記事: 46
登録日時: 2014年4月28日(月) 00:06

1.0.19J + cfFormMailerでメールフォームから送信するとFatal errorになります

投稿記事by ryocka » 2017年2月06日(月) 12:18

こんにちは。
cfFormMailerはGitHub(modxcms-jp)のものを使用しています。

まだローカル環境(XAMPP)のみで動作確認中ですが
メールフォームから送信を行うと
Fatal error: Class 'SMTP' not found in サイトディレクトリ\manager\includes\controls\phpmailer\class.phpmailer.php on line 538
エラーで送信できません。

class.phpmailer.php と class.smtp.php を1.0.18Jのもので上書きすると送信できますが、1.0.19Jのアップデートに先日のPHPMailerの
セキュリティfixを含んでいますので、可能でしたら最新のphpソースを使用したいです。
ryocka
メンバー
メンバー
記事: 46
登録日時: 2014年4月28日(月) 00:06

1.0.19J + cfFormMailerでメールフォームから送信するとFatal errorになります

投稿記事by ryocka » 2017年2月08日(水) 07:06

本番環境も1.0.19Jにアップデートしましたが、同じ現象になります。
アバター
yama
管理人
記事: 2852
登録日時: 2009年7月29日(水) 02:50

1.0.19J + cfFormMailerでメールフォームから送信するとFatal errorになります

投稿記事by yama » 2017年2月08日(水) 12:47

たぶんSMTP送信を行なうケースですよね?PHPMailerのコードを確認してみましたが、classファイルの読み込み方がいつのバージョンからか変わっているみたいで、そのためにsmtp送信の処理を読み出せません。
PHPMailerのコードを書き換えずにスマートに対応する方法があると思いますので、調べてみます。
とりあえず必要な場合は、MODXではPHPMailerの脆弱性の影響を受けないので、1.0.18Jのものを使っていただいて問題ないと思います。
アバター
yama
管理人
記事: 2852
登録日時: 2009年7月29日(水) 02:50

1.0.19J + cfFormMailerでメールフォームから送信するとFatal errorになります  【解決済み】

投稿記事by yama » 2017年2月09日(木) 10:57

manager/includes/extenders/ex_modxmailer.php をテキストエディタで開いて「case 'smtp':」という文字列を探し、次の行に

コード: 全て選択

include_once(MODX_CORE_PATH . 'controls/phpmailer/class.smtp.php');
という記述を挿入すると動作すると思います。確認いただいてよいですか?
ryocka
メンバー
メンバー
記事: 46
登録日時: 2014年4月28日(月) 00:06

1.0.19J + cfFormMailerでメールフォームから送信するとFatal errorになります

投稿記事by ryocka » 2017年2月09日(木) 23:45

こんばんは。

たぶんSMTP送信を行なうケースですよね?

SMTPに設定していました。

class.phpmailer.php と class.smtp.php を1.0.19Jのものに戻し、ご提示いただいたコードの追記にてエラーなくメール送信ができるようになりました。

お調べ頂きまして誠にありがとうございました。
※解決済みとさせていただきます。

“質問全般・改善要望” へ戻る