Home / Waelekezi / Ushirikiano wa Fomu ya Mawasiliano ya WordPress Bila programu-jalizi za SMTP
MWONGOZO WA UTANGAMANO · WORDPRESS & CMS

Ushirikiano wa Fomu ya Mawasiliano ya WordPress Bila programu-jalizi za SMTP

Ondoa uwasilishaji wa wp_mail() ambao haujafaulu, uhifadhi wa nenosiri la maandishi wazi katika chaguzi za wp_, na programu-jalizi nyingi kwa kuelekeza mawasilisho ya anwani za WordPress moja kwa moja kwenye vituo vya mwisho vya fomu ya Lugatu.

1. Tatizo la Plugins za SMTP za WordPress

Tovuti nyingi za WordPress hutegemea programu-jalizi kama vile WP Mail SMTP kutuma arifa za mawasiliano kupitia barua pepe ya PHP() au vitambulisho vilivyohifadhiwa vya SMTP. Wakati anwani za IP zinazopangisha zinabadilika au watoa huduma wanaopangisha huzuia bandari 587/465, maswali hupotea kimyakimya.

2. Muunganisho wa Upande wa Seva kupitia wp_remote_post()

Kwa wasanidi wa mandhari na programu jalizi maalum, sambaza mawasilisho ya fomu kwa usalama kutoka kwa seva yako ya WordPress kwa kutumia ufunguo wako wa API wa nafasi ya kazi bila kufichua siri kwa wageni wanaotazama mbele.

functions.php php
<?php
// Secure WordPress server-side form forwarding
function handle_custom_contact_submission() {
    if ( ! isset( $_POST['contact_nonce'] ) || ! wp_verify_nonce( $_POST['contact_nonce'], 'contact_action' ) ) {
        wp_send_json_error( array( 'message' => 'Security check failed.' ), 403 );
    }

    // Silently drop automated spam if honeypot trap is filled
    if ( ! empty( $_POST['_gotcha'] ) ) {
        wp_send_json_success( array( 'message' => 'Thank you! Message received.' ) );
        return;
    }

    $name    = sanitize_text_field( $_POST['name'] ?? '' );
    $email   = sanitize_email( $_POST['email'] ?? '' );
    $message = sanitize_textarea_field( $_POST['message'] ?? '' );

    $payload = array(
        'fields' => array(
            'name'    => $name,
            'email'   => $email,
            'message' => $message,
        ),
    );

    $api_url = 'https://www.lugatu.com/api/v1/forms/' . LUGATU_FORM_GUID . '/submissions';

    $response = wp_remote_post( $api_url, array(
        'headers' => array(
            'Authorization'   => 'Bearer ' . LUGATU_API_KEY,
            'Content-Type'    => 'application/json',
            'Idempotency-Key' => wp_generate_uuid4(),
        ),
        'body'    => wp_json_encode( $payload ),
        'timeout' => 10,
    ) );

    if ( is_wp_error( $response ) || wp_remote_retrieve_response_code( $response ) >= 400 ) {
        wp_send_json_error( array( 'message' => 'Failed to deliver message.' ), 500 );
    }

    wp_send_json_success( array( 'message' => 'Thank you! Message received.' ) );
}
add_action( 'wp_ajax_custom_contact', 'handle_custom_contact_submission' );
add_action( 'wp_ajax_nopriv_custom_contact', 'handle_custom_contact_submission' );

3. Chaguo la Kupachika la Iframe lenye Sandbox moja kwa moja

Ukipendelea msimbo wa sifuri wa PHP, pachika fomu ya Lugatu iliyochapishwa moja kwa moja kwenye ukurasa wowote wa WordPress au kizuizi cha HTML cha Elementor kwa kutumia iframe yetu inayoitikia iliyo na sandbox.

wordpress-embed.html html
<iframe
  src="https://www.lugatu.com/embed/forms/YOUR_PUBLIC_FORM_ID"
  width="100%"
  height="540"
  frameborder="0"
  style="border:none; border-radius:16px; overflow:hidden;"
  title="Contact Form">
</iframe>

Tofauti ya Usalama na Uthibitishaji

Maagizo ya Usalama: Bainisha LUGATU_API_KEY ndani ya wp-config.php nje ya mzizi wa wavuti, kamwe katika hati zinazoweza kufikiwa na mteja au faili za mandhari za umma.

Utatuzi na Hitilafu za Kawaida za Kumeza

wp_remote_post() inarudisha hitilafu ya cURL 28: Muda wa muunganisho umekwisha

Hakikisha kuwa mtoa huduma wako anaruhusu trafiki ya nje ya HTTPS kwenye mlango nambari 443 hadi www.lugatu.com.

Maswali Yanayoulizwa Mara Kwa Mara

Je, ninahitaji kusakinisha programu-jalizi maalum ili kutumia Lugatu kwenye WordPress?

Hapana. Unaweza kutumia kiunganishi chetu chepesi chepesi cha WordPress au kupachika tu fomu ukitumia iframe ya kawaida ya HTML au vijisehemu vya AJAX.

Je, uko tayari kuunda mwisho wa fomu yako?

Anza bila malipo kwa sekunde chache. Hakuna kadi ya mkopo inahitajika.

Anza Bure →