我的代碼片段附在下面。Php電子郵件不發送
我已經設法讓這個工作在另一個頁面上,所以我只是複製並粘貼了該進程和前端代碼,並將變量更改爲新頁面,但它不工作。我的PHP日誌沒有顯示任何未定義的內容,也沒有引發任何錯誤。我正在使用phpmailer,並且電子郵件驗證是在另一個文件中處理的,該文件被證實可以正常工作,所以問題不在那裏。
我認爲問題在於process.php文件。
前端:
<form class="contact" name="contact">
<input type="hidden" name="to_email" value="<?= $this->user->user_email; ?>" />
<p>Enter your enquiry on the form below.</p>
<div class="input-group">
<span class="input-group-addon" id="basic-addon1">Message</span>
<textarea class="form-control" name="message" rows="5"></textarea>
</div>
<br><br>
<div class="input-group">
<span class="input-group-addon" id="basic-addon1">Phone Number</span>
<input type="text" style="color: #333333" name="phone" class="form-control" placeholder="Optional" aria-describedby="basic-addon1"></input>
<span class="input-group-addon" id="basic-addon1">Contact Name</span>
<input type="text" style="color: #333333" name="from_name" class="form-control" aria-describedby="basic-addon1" value="<?= $this->user->user_contact_name; ?>"></input>
</div>
</form>
前端腳本:
$(document).ready(function() {
$("input#submit").click(function(){
$.ajax({
type: "POST",
url: "profile/process", //
data: $('form.contact').serialize(),
success: function(msg){
alert("Your message has been sent, thanks!");
},
error: function(){
alert("failure");
}
});
});
});
</script>
Process.php
'$ to_email'在哪裏定義? – Twisty
@Twisty - 我有一堆設置變量在那裏進行測試,並在我輸入這個問題時將它們重命名,這實際上是爲了$。我現在編輯它。 – hylian
那麼'$ _POST ['name']'是否會通過?如果沒有設置,會導致您的腳本永遠不會發送電子郵件,並且不會出錯。看到我發佈的答案。 – Twisty