ページ 11

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

Posted: 2017年2月06日(月) 12:18
by ryocka
こんにちは。
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ソースを使用したいです。

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

Posted: 2017年2月08日(水) 07:06
by ryocka
本番環境も1.0.19Jにアップデートしましたが、同じ現象になります。

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

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

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

Posted: 2017年2月09日(木) 10:57
by yama
manager/includes/extenders/ex_modxmailer.php をテキストエディタで開いて「case 'smtp':」という文字列を探し、次の行に

コード: 全て選択

include_once(MODX_CORE_PATH . 'controls/phpmailer/class.smtp.php');
という記述を挿入すると動作すると思います。確認いただいてよいですか?

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

Posted: 2017年2月09日(木) 23:45
by ryocka
こんばんは。
たぶんSMTP送信を行なうケースですよね?
SMTPに設定していました。

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

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