Home / 가이드 / SMTP 플러그인 없이 WordPress 문의 양식 통합
통합 가이드 · 워드프레스 및 CMS

SMTP 플러그인 없이 WordPress 문의 양식 통합

WordPress 연락처 제출을 Lugatu 양식 엔드포인트로 직접 라우팅하여 실패한 wp_mail() 전달, wp_options의 일반 텍스트 비밀번호 저장 및 부피가 큰 플러그인을 제거합니다.

1. WordPress SMTP 플러그인 문제

대부분의 WordPress 사이트는 WP Mail SMTP와 같은 플러그인을 사용하여 PHP 메일() 또는 저장된 SMTP 자격 증명을 통해 연락처 알림을 보냅니다. 호스팅 IP 주소가 변경되거나 호스팅 공급자가 포트 587/465를 차단하면 문의가 자동으로 손실됩니다.

2. wp_remote_post()를 통한 서버측 통합

테마 개발자 및 사용자 정의 플러그인의 경우 프런트엔드 방문자에게 비밀을 노출하지 않고 작업공간 API 키를 사용하여 WordPress 서버에서 양식 제출을 안전하게 전달할 수 있습니다.

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. 직접 샌드박스 삽입 Iframe 옵션

PHP 코드가 필요하지 않은 경우 샌드박스 반응형 iframe을 사용하여 게시된 Lugatu 양식을 WordPress 페이지 또는 Elementor HTML 블록에 직접 삽입하세요.

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>

보안 및 인증 불변

보안 지침: 웹 루트 외부의 wp-config.php 내부에 LUGATU_API_KEY를 정의하세요. 클라이언트가 액세스할 수 있는 스크립트나 공개 테마 파일에서는 절대 정의하지 마세요.

문제 해결 및 일반적인 수집 오류

wp_remote_post()가 cURL 오류 28을 반환합니다. 연결 시간이 초과되었습니다.

호스팅 공급자가 포트 443에서 www.lugatu.com으로 향하는 아웃바운드 HTTPS 트래픽을 허용하는지 확인하세요.

자주 묻는 질문

WordPress에서 Lugatu를 사용하려면 특별한 플러그인을 설치해야 합니까?

아니요. 경량 공식 WordPress 커넥터를 사용하거나 표준 HTML iframe 또는 AJAX 스니펫을 사용하여 양식을 삽입할 수 있습니다.

양식 끝점을 만들 준비가 되셨나요?

몇 초 안에 무료로 시작해 보세요. 신용 카드가 필요하지 않습니다.

무료로 시작하세요 →