Boa tarde!
Esta dando erro ao enviar email na pagina de contato. Ajustei o e-mail do plugin e o mesmo no functions.php porém o erro persiste.
Alguma ideia do motivo de estar dando erro?
Boa tarde!
Esta dando erro ao enviar email na pagina de contato. Ajustei o e-mail do plugin e o mesmo no functions.php porém o erro persiste.
Alguma ideia do motivo de estar dando erro?
Oi André, aparece alguma mensagem de erro?
Aparece a mensagem que foi determinada no page.php
<?php } else { ?>
<span class="email-fracasso">Desculpe, ocorreu um erro, seu e-mail não foi enviado!</span>
<?php }
}
?>
E o que tem em cima desse else em seu código?
<?php
$css_escolhido = 'page';
require_once('header.php');
$nome = $_POST['form-nome'];
$email = $_POST['form-email'];
$mensagem = $_POST['form-mensagem'];
$formularioEnviado = isset($nome) && isset($email) && isset($mensagem);
if($formularioEnviado) {
$enviou = enviar_e_checar_email($nome, $email, $mensagem);
if($enviou) { ?>
<span class="email-sucesso">Seu e-mail foi enviado com sucesso!</span>
<?php } else { ?>
<span class="email-fracasso">Desculpe, ocorreu um erro, seu e-mail não foi enviado!</span>
<?php }
}
?>
Creio que é melhor ativar o debug no Wordpress para facilitar na identificação de erros.
O link abaixo tem algumas dicas de como identificar problemas no envio de e-mail
https://www.codeforest.net/debugging-wp-mail-like-a-boss-debugger
Ativei o debugger e deu as seguintes mensagens na pagina de contato:
Notice: Undefined index: form-nome in /Users/andrebisewski/Pixelwolf/wordpress/wp-content/themes/malura/page.php on line 5
Notice: Undefined index: form-email in /Users/andrebisewski/Pixelwolf/wordpress/wp-content/themes/malura/page.php on line 6
Notice: Undefined index: form-mensagem in /Users/andrebisewski/Pixelwolf/wordpress/wp-content/themes/malura/page.php on line 7
Ele se refere ao seguinte código:
$nome = $_POST['form-nome'];
$email = $_POST['form-email'];
$mensagem = $_POST['form-mensagem'];
Porém essas informações estão definidas conforme abaixo:
<form method="post">
<div class="form-nome">
<label for="form-nome">Nome:</label>
<input id="form-nome" type="text" placeholder="Seu nome aqui" name="form-nome">
</div>
<div class="form-email">
<label for="form-email">Email:</label>
<input id="form-email" type="email" placeholder="email@exemplo.com.br" name="form-email">
</div>
<div class="form-mensagem">
<label for="form-mensagem">Mensagem:</label>
<textarea id="form-mensagem" name="form-mensagem"></textarea>
</div>
<button type="submit">Enviar</button>
</form>
Essa mensagem de erro ocorre porque você está tentando ler o POST na hora em que abre a página, o conteúdo somente existe depois de enviar o formulário.
A mensagem de erro pode sumir desta forma:
$nome ="";
$email ="";
$mensagem = "";
if (isset($_POST['form-nome'])){
$nome = $_POST['form-nome'];
}
if (isset($_POST['form-email'])){
$email = $_POST['form-email'];
}
if (isset($_POST['form-mensagem'])){
$mensagem = $_POST['form-mensagem'];
}
Agora que o debug está ativo, tente preencher e enviar o formulário para ver qual o erro que está ocorrendo.