𝗖𝗙𝟳 𝗕𝗿𝗲𝘃𝗼 𝗜𝗻𝘁𝗲𝗴𝗿𝗮𝘁𝗶𝗼𝗻 𝗜𝘀𝘀𝘂𝗲: 𝗪𝗵𝘆 𝗪𝗲𝗹𝗰𝗼𝗺𝗲 𝗘𝗺𝗮𝗶𝗹𝘀 𝗙𝗮𝗶𝗹

உங்கள் Contact Form 7 (CF7), தொடர்புகளை Brevo-வில் சேர்க்கிறது, ஆனால் வரவேற்பு மின்னஞ்சல்களை (welcome emails) அனுப்பத் தவறிவிடுகிறது. நீங்கள் அனைத்தையும் சரிபார்த்துவிட்டீர்கள். தொடர்புகள் உங்கள் பட்டியலில் தோன்றுகின்றன. ஆனால், உங்கள் தளத்திலிருந்து எந்த மின்னஞ்சல் கோரிக்கைகளும் வரவில்லை என்று Brevo ஆதரவுக் குழு கூறுகிறது.

இந்தப் பிரச்சனை பிளகின் மோதலாலல்ல (plugin conflict). இது உள்ளமைக்கப்பட்ட ஒருங்கிணைப்பின் (built-in integration) ஒரு வரம்பு ஆகும்.

CF7, தொடர்புகளை Brevo-வில் சேர்க்க ஒரு API call-ஐப் பயன்படுத்துகிறது. இது contacts endpoint-ஐ அணுகுகிறது. இது சரியாகச் செயல்படுகிறது.

ஒரு வரவேற்பு மின்னஞ்சலை அனுப்ப வேறு ஒரு API call தேவைப்படுகிறது. அது transactional email endpoint-ஐ அணுக வேண்டும். CF7 இந்த இரண்டாவது அழைப்பைச் செய்வதில்லை. உள்ளமைக்கப்பட்ட ஒருங்கிணைப்பில் இந்த அம்சம் இல்லை.

CF7 அமைப்புகளில் உள்ள "Send a welcome email" என்ற செக்பாக்ஸ் (checkbox) தவறான புரிதலை ஏற்படுத்தக்கூடும். இது பெரும்பாலும் Brevo-வின் பட்டியல் அளவிலான உறுதிப்படுத்தல் மின்னஞ்சல்களை (list-level confirmation emails) மட்டுமே தூண்டும். இது உங்கள் தனிப்பயனாக்கப்பட்ட (custom) transactional template-ஐத் தூண்டாது.

இதைச் சரிசெய்ய உங்களுக்கு இரண்டு வழிகள் உள்ளன.

விருப்பம் 1: PHP function-ஐப் பயன்படுத்துதல்

நீங்கள் CF7 submission event-இல் hook செய்ய முடியும். இது தேவையான API call-ஐ நீங்கள் கைமுறையாக (manually) அனுப்ப அனுமதிக்கிறது.

இந்த code கட்டமைப்பைப் பயன்படுத்தவும்:

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,
    ]);
}

விருப்பம் 2: ஒரு பிரத்யேக பிளகினைப் (specialized plugin) பயன்படுத்துதல்

உங்களுக்கு code கையாள விருப்பமில்லை என்றால், Contact Form to API போன்ற பிளகினைப் பயன்படுத்தலாம். இது உங்கள் dashboard மூலம் CF7-ஐ நேரடியாக Brevo transactional endpoint-உடன் இணைக்கிறது. PHP எழுதாமலேயே உங்கள் புலங்களை (fields) இணைக்கவும் மற்றும் template ID-ஐ அமைக்கவும் முடியும்.

ஒரு இறுதிச் சரிபார்ப்பு: உங்கள் Brevo template நிலை "Active"-இல் இருப்பதை உறுதி செய்யவும். வரைவு (draft) நிலையில் உள்ள templates-களுக்கு Brevo மின்னஞ்சல்களை அனுப்பாது.

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