Conectar formulários no WordPress sem plugins de SMTP | Lugatu
Deixe seu site WordPress mais rápido eliminando plugins de SMTP instáveis. Com a Lugatu, envie formulários diretamente por API REST segura e sem manutenção.
1. Por que plugins de SMTP no WordPress são problemáticos
Plugins como WP Mail SMTP e Contact Form 7 exigem manutenção contínua, pesam no painel e chegam a travar a página caso o servidor de e-mail fique fora do ar.
2. Opção A: Envio direto do navegador no tema
Insira um formulário HTML simples no seu tema ou bloco Gutenberg. As mensagens vão direto para a Lugatu sem sobrecarregar o banco do WordPress.
<?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. Opção B: Envio pelo servidor com wp_remote_post()
Se você precisa validar informações em PHP antes de enviar, repasse a requisição de forma autenticada usando sua chave de API privada.
<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>
Invariante de segurança e autenticação
Segurança no WordPress: Salve sua LUGATU_API_KEY no arquivo wp-config.php ou em variáveis de ambiente do servidor, nunca direto no tema.
Solução de problemas e erros comuns de ingestão
Aumente o timeout para 15 segundos nos parâmetros de wp_remote_post e certifique-se de que sua hospedagem permite HTTPS externo.
Perguntas frequentes
Preciso ter algum plugin de formulário instalado?
Não. Você pode usar HTML puro, Elementor, Divi ou seus próprios arquivos PHP sem instalar nada a mais.
Pronto para criar o endpoint do seu formulário?
Comece gratuitamente em segundos. Não é necessário cartão de crédito.