Dans mon WordPress v6.0, j'ai configuré l'envoi d'e-mails SMTP via $phpmailer
(no-reply@example.com) et cela fonctionne bien.
Je souhaite utiliser un autre compte de messagerie SMTP (contact@example.com) pour toutes les communications par formulaire de contact personnalisé.
Envoyez un e-mail du formulaire de contact en utilisant wp_mail()
comme ceci :
wp_mail($form_to, $form_subject, $form_body, implode("\r\n", $form_headers));
Comment identifier les wp_mail
并使用特定的 SMTP 帐户?下面是我的代码,没有真正的 if
conditions à vérifier ci-dessus :
// MAILER add_action('phpmailer_init', 'send_smtp_email', 10, 1); function send_smtp_email($phpmailer) { $phpmailer->isSMTP(); $phpmailer->isHTML(true); if (wp_mail == "contact_form") { // not a real condition, this is what I want to achieve $phpmailer->Host = 'smtp.example.com'; $phpmailer->SMTPAuth = 'true'; $phpmailer->Port = 465; $phpmailer->Username = 'contact@example.com'; $phpmailer->Password = 'password1'; $phpmailer->SMTPSecure = 'ssl'; $phpmailer->From = 'contact@example.com'; $phpmailer->FromName = 'Site Contact Form'; } else { $phpmailer->Host = 'smtp.example.com'; $phpmailer->SMTPAuth = 'true'; $phpmailer->Port = 465; $phpmailer->Username = 'no-reply@example.com'; $phpmailer->Password = 'password2'; $phpmailer->SMTPSecure = 'ssl'; $phpmailer->From = 'no-reply@example.com'; $phpmailer->FromName = 'Site Mail'; } }
C'est ainsi que j'ai résolu ce problème.
Incluez un en-tête personnalisé dans l'e-mail de votre formulaire de commentaire :
评论:评论表单
.Utilisez le filtre
wp_mail
et vérifiez si l'email envoyé par le formulaire de commentaire est le suivant :