1

Modx Revolution でのメール送信に不具合があります。FormIt プラグインを使用して、Modx 設定リストで Gmail SMTP を有効にしようとしましたが、同じ結果になりました。現在、SMTP は無効になっています。

この FormIt 呼び出しを使用する:

[[!FormIt? 
     &hooks=`email,redirect`
     &redirectTo=`19`
     &redirectParams=`{"success":"1"}`
     &emailTpl=`feedbackEmailTpl`
     &emailSubject=`New request from [[++site_name]]`
     &emailTo=`***@gmail.com`
     &emailToName=`Support`
     &emailReplyTo=`***@gmail.com`
     &emailFrom=`***@gmail.com`
     &emailFromName=`***@gmail.com`
     &errTpl=`<span class="label label-warning">[[+error]]</span>`
     &validate=`
         name:required:stripTags,
         clientemail:email:required,
         message:required:stripTags
     `
     &clearFieldsOnSuccess=`1`
     &validationErrorMessage=`Error.`
]]

error.log ファイル:

[2015-06-02 10:33:37] (ERROR @ /var/www/site/core/model/modx/mail/phpmailer/class.phpmailer.php : 893) PHP warning: preg_match(): Compilation failed: internal error: previously-checked referenced subpattern not found at offset 728
[2015-06-02 10:33:37] (ERROR @ /var/www/site/core/model/modx/mail/phpmailer/class.phpmailer.php : 893) PHP warning: preg_match(): Compilation failed: internal error: previously-checked referenced subpattern not found at offset 728
[2015-06-02 10:33:37] (ERROR @ /index.php) [FormIt] Произошла ошибка при попытке отправить почту. Пожалуйста, введите хотя бы один адрес e-mail получателя.

何が間違っている可能性がありますか?この問題は PHPMailer に関係していますか?

4

1 に答える 1

1

これは、PHP 5.5.25 および 5.6.9 に影響を与える PHP のバグで、Apache で mod_php を使用して実行した場合に発生します。PHP で修正されるまで、いくつかの回避策があります。

  1. PHP を 5.5.24 または 5.6.8 にダウングレードします。
  2. mod_php の代わりにPHP-FPMに切り替えます(とにかく良い考えです)。
  3. PHPMailer クラスをオーバーライドし、デフォルトの電子メール検証メソッドを「php」に変更します。

この最後の方法は、次のように実行されます。

class myMailer extends PHPMailer
{
    public static function validateAddress($address, $patternselect = 'php')
    {
        return parent::validateAddress($address, $patternselect);
    }
}

次に、プレーンな PHPMailer クラスの代わりにそのサブクラスを使用します。同じバグが、Typo3 や SwiftMailer など、他のさまざまな PHP プロジェクトに影響を与えています。PHPMailer で追跡するバグはこちらです。

于 2015-06-02T09:11:58.603 に答える