eFiorm で Could not instantiate mail function. のエラー

質問全般・改善要望
jalan2
メンバー
メンバー
記事: 18
登録日時: 2013年11月25日(月) 22:38

eFiorm で Could not instantiate mail function. のエラー

投稿記事by jalan2 » 2019年5月15日(水) 03:09

eForm のメール送信ができなくなってしまいました。
送信すると、画面に" Could not instantiate mail function. " のエラーが出てしまいます。
スクリーンショットを添付いたしいます。

いつからのことからかはわからないのですが、以前は問題なく動作しておりました。
同じソースコードのMODX1.0.14Jのサイトでは問題なく動作しています。
1.0.14Jから、1.0.20Jにバージョンアップした時からなのか、分かっていません。

イベントログのエラーは、
----------------------
phpmailer - イベントログ
エラー
イベントID 5437
ソース phpmailer
日付 2019/05/15 02:37:53
Could not instantiate mail function.
=?ISO-2022-JP?B?GyRCIVobKEJKLh(略)
----------------------

お手数おかけいたしますが、解決のためのアドバイスをいただけますでしょうか?

MODXのバージョン 1.0.20J
さくらインターネット PHP5.2.17
FreeBSD 9.1-RELEASE-p24
MySQL 5.5.59-log
添付ファイル
screenshot.jpg
アバター
yama
管理人
記事: 3073
登録日時: 2009年7月29日(水) 02:50

eFiorm で Could not instantiate mail function. のエラー

投稿記事by yama » 2019年5月15日(水) 10:24

https://github.com/modxcms-jp/evolution ... evelop.zip
こちらの最新開発版でアップデートして試していただいてよいでしょうか?
PHPのバージョンが5.2だと動作しないかもしれませんが・・
jalan2
メンバー
メンバー
記事: 18
登録日時: 2013年11月25日(月) 22:38

eFiorm で Could not instantiate mail function. のエラー

投稿記事by jalan2 » 2019年5月19日(日) 23:39

yamaさん、いつもありがとうございます。
テストサイトを最新バージョンにしたところ、問題なく動作しました。
元は、1.0.14Jで、eForm は問題なく動作しておりました。PHPは、5.4.45。サーバーはロリポップです。

問題のさくらインターネットスタンダードぷらんのサイトは、最新バージョンへのアップグレードさえできない状態でした。
install ディレクトにアクセスするとエラー。やむなく、元のバージョンに戻しております。

すべてのフォオームが、「Could not instantiate mail function.」のエラーになっておりますので、サーバー側の何らかの設定の問題か? と推測いたしておりますが、原因にたどり着けておりません。

もし考えられることがございましたら、アドバイスいただけましたら幸甚です。
アバター
yama
管理人
記事: 3073
登録日時: 2009年7月29日(水) 02:50

eFiorm で Could not instantiate mail function. のエラー

投稿記事by yama » 2019年5月21日(火) 23:12

さくら側のPHPのバージョンは5.2ではなかったでしょうか?
jalan2
メンバー
メンバー
記事: 18
登録日時: 2013年11月25日(月) 22:38

eFiorm で Could not instantiate mail function. のエラー

投稿記事by jalan2 » 2019年5月22日(水) 08:09

はい。5.2です。
jalan2
メンバー
メンバー
記事: 18
登録日時: 2013年11月25日(月) 22:38

eFiorm で Could not instantiate mail function. のエラー

投稿記事by jalan2 » 2019年5月25日(土) 08:14

PHPを7.2.17にし、MODXを1.0.22J-rc7 にしました。

スニペットコール
[!eForm
&formid = `EntryForm`
&to = `[(emailsender)]`
&tpl = `EntryForm`
&report = `EntryFormReport`
&subject = `お問い合わせ`
&ccsender = `0`
&automessage = `EntryFormMessage`
&gotoid = `34`
!]

今後は、以下のエラーが出てしまいました。
(一部****で置き換えております)

« PHP Parse Error »
PHP error debug
Error : count(): Parameter must be an array or an object that implements Countable
ErrorType[num] : WARNING[2]
File : /home/********/www/********/assets/snippets/eform/eform.inc.php
Line : 740
Source : $lastitems[count($lastitems)] = "class=\"\""; //removal off empty class attributes
LastQuery : SELECT DISTINCT sc.id,sc.menutitle,sc.pagetitle,sc.introtext,sc.menuindex,sc.published,sc.hidemenu,sc.parent,sc.isfolder,sc.description,IF(sc.alias='', sc.id, sc.alias) AS alias,sc.longtitle,sc.type,IF(sc.type='reference',sc.content,'') AS content,sc.template,sc.link_attributes FROM `****_cms`.`modx_****site_content` sc LEFT JOIN `****_cms`.`modx_****document_groups` dg ON dg.document=sc.id WHERE sc.published=1 AND sc.deleted=0 AND(sc.privateweb=0) AND sc.id IN (6,7,8,9) AND sc.id IN (1,2,12,13,14,3,390,389,388,836,4,21,22,23,24,25,26,653,5,27,28,29,30,31,32,33,6,7,8,9,34,10,11,439,440,451,469,474,605) GROUP BY sc.id ORDER BY sc.menuindex ASC
Basic info
REQUEST_URI : /contact.html
Resource : [9]お問い合わせ
Current Snippet : eForm
Referer : http://********/contact.html
User Agent : Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36
IP : 49.250.247.57
Benchmarks
MySQL : 0.0519 s (42 Requests)
PHP : 0.0676 s
Total : 0.1195 s
Memory : 2.13 MB

Backtrace

1 $modx->executeParser()
index.php on line 125
2 $modx->prepareResponse()
manager/includes/document.parser.class.inc.php on line 271
3 $modx->outputContent()
manager/includes/document.parser.class.inc.php on line 534
4 $modx->parseNonCachedSnippets()
manager/includes/document.parser.class.inc.php on line 615
5 $modx->parseDocumentSource()
manager/includes/document.parser.class.inc.php on line 740
6 $modx->evalSnippets()
manager/includes/document.parser.class.inc.php on line 2807
7 $modx->_get_snip_result()
manager/includes/document.parser.class.inc.php on line 2315
8 $modx->evalSnippet()
manager/includes/document.parser.class.inc.php on line 2377
9 eval()
manager/includes/document.parser.class.inc.php on line 2238
10 eForm()
manager/includes/document.parser.class.inc.php(2238) : eval()'d code on line 22
11 formMerge()
assets/snippets/eform/eform.inc.php on line 700
アバター
yama
管理人
記事: 3073
登録日時: 2009年7月29日(水) 02:50

eFiorm で Could not instantiate mail function. のエラー

投稿記事by yama » 2019年5月25日(土) 13:07

eform.inc.zip
(15.08 KiB) ダウンロード数: 186 回

修正しました。assets/snippets/eform/ に上書きしてみていただけますでしょうか?
jalan2
メンバー
メンバー
記事: 18
登録日時: 2013年11月25日(月) 22:38

eFiorm で Could not instantiate mail function. のエラー

投稿記事by jalan2 » 2019年5月26日(日) 19:11

ありがとうございました!
上書きして、以下のエラーは出なくなりました。
Error : count(): Parameter must be an array or an object that implements Countable

が、フォームをサブミットすると、一番最初の状態(php.5.2/1.0.20J)と同じエラーが出てしまいました。。。
Main mail: メールの送信ができませんでした。Could not instantiate mail function.
=?ISO-2022-(略)
サーバ固有の問題なのでしょうか?
jalan2
メンバー
メンバー
記事: 18
登録日時: 2013年11月25日(月) 22:38

eFiorm で Could not instantiate mail function. のエラー

投稿記事by jalan2 » 2019年5月26日(日) 19:19

ようやく原因がわかりました。
指定していた emeilsender が、Office365で設定されていることが原因のようです。
別のメールアドレスにすると、問題なく動作しました。
yamaさん、いろいろとお手数をおかけして申し訳ありませんでした。