1
resposta

Ero ao enviar e-mail

Boas,

Estou ater erro ao enviar e-mail, print do erro aqui https://pasteboard.co/I11TQby.png

Abaixo a minha função:~


function enviar_e_validar_email($nome, $email, $mensagem) {
        return wp_mail( 'martinsisata@gmail.com', 'Martins Isata', 'Nome: ' . $nome . "\n" . $mensagem  );
}

Abaixo o ficheiro page.php:


$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'];
}

$formularioEnviado = isset($nome) && isset($email) && isset($mensagem);

if($formularioEnviado) {
    $enviou = enviar_e_validar_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 var_dump($enviou) ?>
    <?php } 
}
1 resposta

Oi Martins, tudo bom?

Pelo print da pra perceber que sua variável $enviou está com o valor false, certo?

Isso significa que a função enviar_e_evalidar_email retornou false e, por consequencia, a função de envio de email wp_mail também.

Isso significa que ocorreu um erro, mas a gente não consegue saber qual sem olhar os logs.

Adiciona esse código aqui:

add_action( 'wp_mail_failed', 'onMailError');
function onMailError( $error ) {
    var_dump($error);
}

Antes de enviar o e-mail, assim a gente consegue analisar o erro e procurar o motivo =)

Abraço