目前,我有两个WooCommerce设置,都运行在同一台服务器上,用于演示和测试。每个都安装在不同的子域上。其中一个发送注册和忘记密码电子邮件(“工作”版本),但另一个不发送(“失败”版本)。两者均使用WP最新版本(3.8)。
“工作”版本运行的是100%默认的所有内容和已导入WooCommerce虚拟数据的212主题。
“失败”版本运行一个自定义主题和几个插件(各种WooCommerce支付网关、高级自定义字段和一个Mailchimp插件)。当我将主题改为“二十一”并删除所有插件时,除了那些在“工作”版本上运行的插件外,我仍然无法收到任何注册或丢失密码的电子邮件。使用多个电子邮件地址进行测试。
如有任何故障排除方面的帮助,将不胜感激!
<小时>
Update
按照@Subharanjan的建议,以下是我的
mail.txt
日志:
array (
\'error_count\' => 1,
\'sign_cert_file\' => \'\',
\'sign_key_file\' => \'\',
\'sign_key_pass\' => \'\',
\'exceptions\' => true,
)
SO网友:Subharanjan
--如果有任何错误,请检查日志文件。
其他的
--创建一个文件,比如“wp邮件日志”。将下面的代码粘贴到主题的函数中。php文件,用于将电子邮件问题/激发的电子邮件状态等记录到创建的日志文件中。这样您就可以轻松地进行故障排除。它将在每次发送电子邮件时写入日志文件!!
add_filter( \'wp_mail\', \'log_wp_mail\', 1 );
add_filter( \'phpmailer_init\', \'log_wp_mail\', 1 );
function log_wp_mail( $args ) {
try {
$log_message = "\\n----------MARK-------------\\n" . var_export(
array(
\'date\' => date( \'r\' ),
\'args\' => $args
), true
);
// Now write the log message somewhere, for example:
$fp = fopen( dirname( __FILE__ ) . \'/wp-mail-log.txt\', \'a+\' );
fwrite( $fp, $log_message );
fclose( $fp );
} catch ( Exception $e ) {
}
return $args;
}