𝗖𝗙𝟳 𝗕𝗿𝗲𝘃𝗼-𝗜𝗻𝘁𝗲𝗴𝗿𝗮𝘁𝗶𝗼𝗻𝘀𝗽𝗿𝗼𝗯𝗹𝗲𝗺: 𝗪𝗮𝗿𝘂𝗺 𝗪𝗶𝗹𝗹𝗸𝗼𝗺𝗺𝗲𝗻𝘀-𝗘-𝗠𝗮𝗶𝗹𝘀 𝗳𝗲𝗵𝗹𝘀𝗰𝗵𝗹𝗮𝗴𝗲𝗻

Ihr Contact Form 7 (CF7) fügt Kontakte zu Brevo hinzu, versäumt es jedoch, Willkommens-E-Mails zu senden. Sie haben alles überprüft. Die Kontakte erscheinen in Ihrer Liste. Das Brevo-Support-Team sieht keine E-Mail-Anfragen von Ihrer Website.

Das Problem ist kein Plugin-Konflikt. Es handelt sich um eine Einschränkung der integrierten Integration.

CF7 nutzt einen API-Aufruf, um Kontakte zu Brevo hinzuzufügen. Dieser greift auf den Contacts-Endpoint zu. Das funktioniert einwandfrei.

Das Senden einer Willkommens-E-Mail erfordert einen anderen API-Aufruf. Dieser muss den Transactional-Email-Endpoint ansprechen. CF7 führt diesen zweiten Aufruf nicht aus. Der integrierten Integration fehlt schlichtweg diese Funktion.

Das Kontrollkästchen „Send a welcome email“ in den CF7-Einstellungen ist irreführend. Es löst wahrscheinlich nur die Bestätigungs-E-Mails auf Listen-Ebene von Brevo aus. Es löst nicht Ihre benutzerdefinierte Transactional-Vorlage aus.

Sie haben zwei Möglichkeiten, dies zu beheben.

Option 1: Eine PHP-Funktion verwenden

Sie können sich in das CF7-Submission-Event einklinken. Dies ermöglicht es Ihnen, den erforderlichen API-Aufruf manuell zu senden.

Verwenden Sie diese Codestruktur:

add_action('wpcf7_before_send_mail', 'send_brevo_welcome_email');

function send_brevo_welcome_email($contact_form) { if ((int) $contact_form->id() !== YOUR_FORM_ID) return;

$submission = WPCF7_Submission::get_instance();
if (!$submission) return;

$data = $submission->get_posted_data();
$email = sanitize_email($data['your-email'] ?? '');
$name = sanitize_text_field($data['your-name'] ?? '');

if (empty($email)) return;

$api_key = defined('BREVO_API_KEY') ? BREVO_API_KEY : '';
$template_id = 12; 

wp_remote_post('https://api.brevo.com/v3/smtp/email', [
    'headers' => [
        'api-key' => $api_key,
        'Content-Type' => 'application/json',
    ],
    'body' => wp_json_encode([
        'templateId' => $template_id,
        'to' => [['email' => $email, 'name' => $name]],
        'params' => ['FIRSTNAME' => $name],
    ]),
    'timeout' => 15,
]);

}

Option 2: Ein spezialisiertes Plugin verwenden

Wenn Sie keinen Code verwalten möchten, verwenden Sie ein Plugin wie Contact Form to API. Dieses verbindet CF7 direkt mit dem Brevo-Transactional-Endpoint über Ihr Dashboard. Sie ordnen Ihre Felder zu und legen Ihre Template-ID fest, ohne PHP schreiben zu müssen.

Ein letzter Check: Stellen Sie sicher, dass der Status Ihrer Brevo-Vorlage auf „Aktiv“ steht. Brevo versendet keine E-Mails für Entwurfs-Vorlagen.

Quelle: https://dev.to/rahul_sharma_15bd129bc69e/cf7-brevo-integration-adds-contacts-but-never-sends-the-welcome-email-here-is-why-1e18