2016-09-20 20 views
-1

爲什麼不派我的形式?有沒有在我的PHP錯誤?我的形式不是來我的電子郵件

此前我的狀態已經沒有身份驗證。我不得不通過SMTP包含身份驗證,因爲服務器需要發送電子郵件。

形式

<form id="contactForm" class="s-form wow zoomInUp" data-wow-delay="0.5s"> 
    <div class="s-relative"> 
     <select name="user-topic" id="user-topic" class="m-select"> 
      <option value="Not select">O que você precisa?</option> 
      <option value="Topic 1">Solicitar contato com o vendedor</option> 
      <option value="Topic 2">Agendar revisão</option> 
      <option value="Topic 3">Cotação de peças</option> 
      <option value="Topic 4">Crítica/Sugestão</option> 
     </select> 
     <span class="fa fa-caret-down"></span> 
    </div> 
    <input type="text" placeholder="NOME" value="" name="user-name" id="user-name" /> 
    <input type="text" placeholder="E-MAIL" value="" name="user-email" id="user-email" /> 
    <input type="text" placeholder="TELEFONE" value="" name="user-phone" id="user-phone" /> 
    <textarea id="user-message" name="user-message" placeholder="DEIXE SUA MENSAGEM"></textarea> 
    <button type="submit" class="btn m-btn">Enviar mensagem<span class="fa fa-angle-right"></span></button> 
</form> 

<script src="assets/contact/jqBootstrapValidation.js"></script> 
<script src="assets/contact/contact_me.js"></script> 

PHP

<?php 
ini_set('display_errors', '1'); 
header("Content-Type: application/json; charset=utf-8"); 
require("phpmailer/class.phpmailer.php"); 
require("phpmailer/class.smtp.php"); 

// Check for empty fields 
if(empty($_POST['name']) || empty($_POST['email']) || empty($_POST['message']) || !filter_var($_POST['email'],FILTER_VALIDATE_EMAIL)){ 
    echo json_encode(array('error'=>'true')); 
    return false; 
} 

$mail = new PHPMailer(); 

$mail->SetLanguage("br"); 
$mail->IsSMTP(); // Define que a mensagem será SMTP 
$mail->Host = grupomenegalli.com.br; // Endereço do servidor SMTP (caso queira utilizar a autenticação, utilize o host smtp.seudomínio.com.br) 
$mail->SMTPAuth = true; // Usar autenticação SMTP (obrigatório para smtp.seudomínio.com.br) 
$mail->SMTPSecure = 'ssl'; // Protocolo ssl ou tls 
$mail->Port = '25'; // Porta do servidor a ser usado 
$mail->Username = '[email protected]'; // Usuário do servidor SMTP (endereço de email) 
$mail->Password = '******'; // Senha do servidor SMTP (senha do email usado) 


$mail->IsHTML(true); 

$name = $_POST['name']; 
$email_address = $_POST['email']; 
$message = $_POST['message']; 

$lastname = $_POST['lastname']; 
$phone = $_POST['phone']; 

$mail->Subject = "Contato a partir do site Dimasa VW"; 

$mensagem = " 
    <html> 
     <head> 
      <title>Contato a partir do site Dimasa VW</title> 
     </head> 
     <body> 

      <p> 
       Nome: $name<br> 

       Email: $email_address<br> 

       Telefone: $phone<br> 

       Mensagem: $message 
      </p> 
     </body> 
    </html> 
    "; 

$mail->Body = $mensagem; 
$xx = $mail->Send(); 

$mail->ClearAllRecipients(); 
$mail->ClearAttachments(); 

if($xx){ 
    echo json_encode(array('success'=>'true')); 
    return true; 
}   
?> 

腳本

$(function() { 
$("input,textarea").jqBootstrapValidation({ 
preventSubmit: true, 
submitError: function($form, event, errors) { 
    // additional error messages or events 
}, 
submitSuccess: function($form, event) { 
    event.preventDefault(); // prevent default submit behaviour 
    // get values from FORM 
    var topic = $("select#user-topic").val(); 
    var name = $("input#user-name").val(); 
    var email = $("input#user-email").val(); 
    var phone = $("input#user-phone").val(); 
    var message = $("textarea#user-message").val(); 
    var firstName = name; // For Success/Failure Message 
    // Check for white space in name for Success/Fail message 
    if (firstName.indexOf(' ') >= 0) { 
     firstName = name.split(' ').slice(0, -1).join(' '); 
    } 
    $.ajax({ 
     url: "././mail/contact_me.php", 
     type: "POST", 
     dataType: 'json', 
     data: { 
      topic: topic, 
      name: name, 
      email: email, 
      phone: phone, 
      message: message 
     }, 
     cache: false, 
     success: function(data) { 
      if(data.error){ 
       // Fail message 
       $('#success').html("<div class='alert alert-danger'>"); 
       $('#success > .alert-danger').html("<button type='button' class='close' data-dismiss='alert' aria-hidden='true'>&times;").append("</button>"); 
       $('#success > .alert-danger').append("<span>Perdão " + firstName + ", parece que ocorreu uma falha no envio, tente novamente!</span>"); 
       $('#success > .alert-danger').append('</div>'); 
       //clear all fields 
       $('#contactForm').trigger("reset"); 
      } 
      else if(data.success){ 
       // Success message 
       $('#success').html("<div class='alert alert-success'>"); 
       $('#success > .alert-success').html("<button type='button' class='close' data-dismiss='alert' aria-hidden='true'>&times;").append("</button>"); 
       $('#success > .alert-success').append("<span>Sua mensagem foi enviada com sucesso </span>"); 
       $('#success > .alert-success').append('</div>'); 
       //clear all fields 
       $('#contactForm').trigger("reset"); 
      } 
     } 
    }) 
}, 
filter: function() { 
    return $(this).is(":visible"); 
}, 
}); 
}); 


/*When clicking on Full hide fail/success boxes */ 
$('#name').focus(function() { 
$('#success').html(''); 
}); 
+0

請從您的代碼中刪除您的憑據(郵件,密碼)! – Daniel

+0

您可以檢查PHPMailer返回的郵件的'$ mail-> ErrorInfo'。 – Mikkel

回答

0

變化

$mail->Host = grupomenegalli.com.br; 

對此:

$mail->Host = "grupomenegalli.com.br"; 

主機應放在引號中。

+0

'$ mail-> Host =「rupomenegalli.com.br」;'我做到了,但仍然不起作用 –

+0

看到我的其他評論,請做'var_dump($ mail-> ErrorInfo);'併發布結果。 – Mikkel

相關問題