𝗖𝗙𝟳 𝗕𝗿𝗲𝘃𝗼-𝗶𝗻𝘁𝗲𝗴𝗿𝗮𝘁𝗶𝗲𝗽𝗿𝗼𝗯𝗹𝗲𝗲𝗺: 𝗪𝗮𝗮𝗿𝗼𝗺 𝘄𝗲𝗹𝗸𝗼𝗺𝗲𝗺𝗮𝗶𝗹𝘀 𝗻𝗶𝗲𝘁 𝘄𝗼𝗿𝗱𝗲𝗻 𝘃𝗲𝗿𝘇𝗲𝗻𝗱
Je Contact Form 7 (CF7) voegt contacten toe aan Brevo, maar verzendt geen welkomstmails. Je hebt alles gecontroleerd. De contacten verschijnen in je lijst. Het Brevo-supportteam ziet geen e-mailverzoeken van je site.
Het probleem is geen plugin-conflict. Het is een beperking van de ingebouwde integratie.
CF7 gebruikt één API-call om contacten aan Brevo toe te voegen. Deze raakt het contacts-endpoint. Dit werkt prima.
Het verzenden van een welkomstmail vereist een andere API-call. Deze moet het transactional email-endpoint bereiken. CF7 voert deze tweede call niet uit. De ingebouwde integratie mist simpelweg deze functie.
Het "Send a welcome email" selectievakje in de CF7-instellingen is misleidend. Het activeert waarschijnlijk alleen de bevestigingsmails op lijstniveau van Brevo. Het activeert niet jouw eigen transactionele template.
Je hebt twee manieren om dit op te lossen.
Optie 1: Gebruik een PHP-functie
Je kunt een hook gebruiken bij het CF7 submission event. Hiermee kun je de benodigde API-call handmatig verzenden.
Gebruik deze codestructuur:
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,
]);
}
Optie 2: Gebruik een gespecialiseerde plugin
Als je liever geen code beheert, gebruik dan een plugin zoals Contact Form to API. Hiermee verbind je CF7 rechtstreeks met het Brevo transactional endpoint via je dashboard. Je koppelt je velden en stelt je template ID in zonder PHP te schrijven.
Een laatste controle: Zorg ervoor dat de status van je Brevo-template op "Active" staat. Brevo verzendt geen e-mails voor concepten (draft templates).