使用带有动作回调的PHPMailer类:
我深入研究了
PHPMailer
类,并发现它支持
custom action.
Here\'s 如何使用激活回调doCallback()
类中的方法。
还有一个PHPMailer
test 在GitHub上通过callbackAction()
回调。
我们可以通过以下方式在WordPress中进行设置:
$phpmailer->action_function = \'wpse_mail_action\';
在哪里
wpse_mail_action()
是操作回调。
下面是一个示例,我们可以如何应用这一点:
/**
* Custom PHPMailer action callback
*/
function wpse_mail_action( $is_sent, $to, $cc, $bcc, $subject, $body, $from )
{
do_action( \'wpse_mail_action\', $is_sent, $to, $cc, $bcc, $subject, $body, $from );
return $is_sent; // don\'t actually need this return!
}
/**
* Setup a custom PHPMailer action callback
*/
add_action( \'phpmailer_init\', function( $phpmailer )
{
$phpmailer->action_function = \'wpse_mail_action\';
} );
现在我们可以访问
wpse_mail_action
钩
然后,我们可以添加自己的邮件记录器,并检查邮件是否成功发送。
示例:
下面是一个(未经测试)示例,我们可以在发送“密码重置”帖子后执行以下操作:
/**
* Do something after the "Password Reset" post has been successfully sent:
*/
add_action( \'wpse_mail_action\', function( $is_sent, $to, $cc, $bcc, $subject, $body, $from )
{
if( $is_sent && false !== stripos( $subject, \'Password Reset\' ) )
// do stuff
}, 10, 7 );
我们可以添加一些进一步的限制,并在必要时包含到其他操作中,如
retrieve_password
钩