我们有一个jQuery调用的AJAX处理程序。ajax(),它接收存储在服务器上的文档并将其发送给用户。下面是对wp\\U mail的调用,如下所示:
$status_wpmail = wp_mail($recipient, $subject, $body, $headers, $filename);
问题是电子邮件永远不会被发送出去,wp\\u mail调用之后的任何代码都不会被解析,包括一条用于转储$status\\u wpmail值的调试语句。然而,发送回页面的jqXHR响应报告“成功”。
我在处理程序中放入调试语句,将注释转储到文本文件中,并确认语句在wp\\u邮件调用之前转储到文件中。我还为此启用了调试语句link 但我没有在wp内容中生成任何调试日志。
使用一个单独的脚本来测试带有简单消息和附件的wp\\U邮件,我确认wp\\U邮件确实可以工作。我还通过安装WP mail SMTP插件排除了mail()的罪魁祸首,因为这种行为仍然存在。
有什么想法吗?
EDIT: 我选择了一种解决方法,直接调用phpmailer并跳过wp\\u邮件。执行此操作后,消息成功发送。如果有人知道为什么wp\\U邮件会这样挂,那就太好了。