在Modx革命中,电子邮件的发送遇到了麻烦。使用FormIt插件,我尝试在Modx设置列表中启用Gmail,但结果是相同的。现在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有关吗?
发布于 2015-06-02 09:11:58
这是一个影响PHP5.5.25和5.6.9的PHP,当使用mod_php与apache一起运行时。在PHP中修复之前,有一些解决办法。
最后一个方法是这样做的:
class myMailer extends PHPMailer
{
public static function validateAddress($address, $patternselect = 'php')
{
return parent::validateAddress($address, $patternselect);
}
}然后使用该子类而不是普通的PHPMailer类。相同的bug一直影响着其他各种PHP项目,如Typo3和SwiftMailer。在PHPMailer中跟踪它的bug是这里。
https://stackoverflow.com/questions/30590570
复制相似问题