Como corrigir o JetBooking que não envia notificações por e-mail no WordPress
O que é JetBooking que não envia e-mail?
O JetBooking não envia email é a falha em que uma reserva é criada com sucesso, mas o hospede ou o administrador nunca recebe a notificação de confirmacao. O JetBooking gerencia disponibilidade, datas e o fluxo de reserva, mas não possui um servidor de e-mail próprio: a notificação é disparada pela função wp_mail do WordPress, geralmente acionada pela acao Send Email no Post Submit do formulário de reserva criado com o JetFormBuilder, ou por outra integração que escute a criação da reserva.
Por isso, o problema quase sempre nasce em uma de duas camadas. Na camada de entrega, o wp_mail usa a função mail() do PHP, que em hospedagem compartilhada costuma ser bloqueada, cair em spam ou ser rejeitada por SPF/DKIM quando o remetente não bate com o domínio; sem um plugin de SMTP, nada chega. Na camada de configuração, a acao Send Email pode não ter sido adicionada ao formulário, o destinatario pode apontar para um campo vazio, ou o status da reserva que deveria disparar o aviso nunca é atingido. Identificar em qual camada esta o defeito é o primeiro passo da correção.
Como identificar
- A reserva aparece corretamente no painel em JetBooking -> Bookings, mas nenhum e-mail de confirmacao chega ao hospede nem ao administrador.
- O e-mail de teste do WordPress (ou de um plugin de SMTP) também não é entregue, indicando que o wp_mail do site não envia nada.
- A confirmacao chega na caixa de spam com remetente do tipo wordpress@seudominio em vez do e-mail oficial configurado.
- No log do formulário aparece a mensagem ‘The email was not sent’ ou a acao Send Email não registra disparo ao concluir a reserva.
- O e-mail do administrador chega, mas o do hospede não (ou o inverso), apontando para um campo de destinatario mal mapeado na acao.
Como prevenir
- Configure um SMTP autenticado com remetente do próprio domínio assim que publicar o site de reservas, em vez de confiar na função mail() do PHP.
- Mantenha registros SPF e DKIM do domínio ativos para que as confirmacoes de reserva não caiam em spam nos provedores de e-mail dos hospedes.
- Após qualquer edição no formulário de reserva, faça uma reserva de teste de ponta a ponta e confirme que o e-mail chega ao hospede e ao administrador.
- Evite manter dois plugins de SMTP ativos ao mesmo tempo, pois um pode sobrescrever a configuração do outro e interromper o envio sem aviso.
Causa
- Nenhum plugin de SMTP esta ativo e o wp_mail do WordPress depende da função mail() do PHP, que a hospedagem compartilhada bloqueia ou marca como spam, impedindo qualquer entrega.
- A acao Send Email não foi adicionada ao bloco Post Submit Actions do formulário de reserva no JetFormBuilder, entao a reserva é salva mas nenhum e-mail é programado para sair.
- O campo To da acao Send Email aponta para uma macro de campo vazia ou inexistente (por exemplo um campo de e-mail do hospede que não foi preenchido ou não foi mapeado), e o e-mail é gerado sem destinatario valido.
- O endereco From da notificação usa um domínio diferente do site sem registro SPF/DKIM correspondente, fazendo o servidor de destino rejeitar ou jogar a mensagem em spam.
- Um plugin de segurança ou de SMTP configurado com credenciais erradas (porta, host ou senha de app invalida) intercepta o wp_mail e aborta o envio antes da entrega.
Como resolver
- Confirme se o WordPress consegue enviar e-mail: Antes de mexer no JetBooking, valide a camada de entrega. Instale um plugin de SMTP e use a função de e-mail de teste dele. Se o teste não chegar, o problema é do wp_mail do site, não do JetBooking, e precisa ser resolvido primeiro.
Painel WP -> Plugins -> Adicionar novo -> instale um plugin de SMTP (ex.: WP Mail SMTP) Abra o plugin -> Email Test -> envie um e-mail de teste para o seu endereco Se o teste não chegar, prossiga para o passo 2 antes de revisar o formulário - Configure um SMTP autenticado: Aponte o wp_mail para um servidor SMTP autenticado em vez da função mail() do PHP. Use as credenciais do seu provedor de e-mail e um remetente do mesmo domínio do site para passar nas checagens SPF e DKIM.
No plugin de SMTP, informe Host, Porta (587 TLS ou 465 SSL), Usuário e Senha do provedor Defina o From Email com um endereco do próprio domínio (ex.: [email protected]) Salve e reenvie o e-mail de teste para confirmar a entrega - Verifique a acao Send Email no formulário de reserva: Abra o formulário de reserva criado no JetFormBuilder e confirme que existe uma acao Send Email no Post Submit. Sem essa acao, a reserva é salva mas nenhuma notificação é programada.
Painel WP -> JetFormBuilder -> abra o formulário de reserva Va até Post Submit Actions e confirme a presenca da acao 'Send Email' Se não existir, clique em New Action e adicione 'Send Email' - Corrija o destinatario e o remetente da notificação: Abra a acao Send Email e revise os campos To, From e Reply To. O destinatario deve usar a macro do campo de e-mail do hospede (ou o e-mail fixo do administrador), nunca um campo que pode ficar vazio. O From precisa ser do domínio do site.
Na acao Send Email, no campo To selecione a macro do campo de e-mail do formulário (ex.: %email%) Defina o From Email com um endereco do próprio domínio e o Reply To com o e-mail de atendimento Salve o formulário e faça uma reserva de teste para confirmar o disparo - Isole conflito de plugin de segurança ou SMTP: Se o teste de SMTP passa mas a reserva não dispara e-mail, desative temporariamente plugins de segurança e qualquer segundo plugin de SMTP, recarregando o fluxo de reserva a cada teste para achar o que intercepta o wp_mail.
Painel WP -> Plugins -> desative plugins de segurança e SMTP duplicados um a um Refaca uma reserva de teste após cada desativacao e verifique a caixa de entrada Reative os plugins ao identificar o culpado e ajuste a configuração dele
<?php
// Força o remetente do wp_mail para um endereco do proprio dominio,
// reduzindo o risco de a confirmacao do JetBooking cair em spam.
add_filter( 'wp_mail_from', 'full_jetbooking_from_email' );
function full_jetbooking_from_email( $original ) {
return '[email protected]';
}
add_filter( 'wp_mail_from_name', 'full_jetbooking_from_name' );
function full_jetbooking_from_name( $original ) {
return 'Reservas do Site';
}
// Registra falhas de envio no log para diagnosticar o que o JetBooking nao entrega.
add_action( 'wp_mail_failed', 'full_jetbooking_log_mail_error' );
function full_jetbooking_log_mail_error( $wp_error ) {
error_log( 'JetBooking wp_mail falhou: ' . $wp_error->get_error_message() );
}














