phpmailer_init
每次都会开火wp_mail()
调用-但是,您可以有条件地如下挂接/取消挂接:
function wpse_224496_phpmailer_init( $phpmailer ) {
// SMTP setup
// Always remove self at the end
remove_action( \'phpmailer_init\', __function__ );
}
function wpse_224496_wp_mail( $mail ) {
// Example: only SMTP for emails addressed to [email protected]
if ( $mail[\'to\'] === \'[email protected]\' )
add_action( \'phpmailer_init\', \'wpse_224496_phpmailer_init\' );
// Example: only SMTP for subject "Foo"
if ( $mail[\'subject\'] === \'Foo\' )
add_action( \'phpmailer_init\', \'wpse_224496_phpmailer_init\' );
// Other properties
$mail[\'message\'];
$mail[\'headers\']; // Could be string or array
$mail[\'attachments\']; // Could be string or array
return $mail;
}
add_filter( \'wp_mail\', \'wpse_224496_wp_mail\' );