我有幾個關於設置PHP郵件程序的問題.... 我的第一個問題是,PHP文件/文件夾是否與我所有其他人(.html,css,和JS)?設置PHP郵件程序
如果是這樣的話,我確實需要一些幫助設置此功能,或者我開始有點失去了...我的PHP文件如下:
<?php
$emailTo = "[email protected]"; // Enter your email for feedbacks here
$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=utf-8\r\n";
$headers .= "From: ".$_POST['rsEmail']."\r\n";
if (!isset($_POST['rsSubject'])) {
$subject = "Contact Form Message"; // Enter your subject here
} else {
$subject = $_POST['rsSubject'];
}
reset($_POST);
$body = "";
$body .= "<p><b>Name: </b>".$_POST['rsName']."</p>";
$body .= "<p><b>Email: </b>".$_POST['rsEmail']."</p>";
$body .= "<p><b>Subject: </b>".$subject."</p>";
$body .= "<p><b>Message: </b>".$_POST['rsMessage']."</p>";
if(mail($emailTo, $subject, $body, $headers)){
$mail_sent = true;
} else {
$mail_sent = false;
}
if(!isset($resp)){
echo json_encode($mail_sent);
}
?>
而且我相信相應的JavaScript我一起它是:
function isValidEmail(emailAddress) {
var pattern = /^([a-z\d!#$%&'*+\-\/=?^_`{|}~\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+(\.[a-z\d!#$%&'*+\-\/=?^_`{|}~\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+)*|"((([ \t]*\r\n)?[ \t]+)?([\x01-\x08\x0b\x0c\x0e-\x1f\x7f\x21\x23-\x5b\x5d-\x7e\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]|\\[\x01-\x09\x0b\x0c\x0d-\x7f\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))*(([ \t]*\r\n)?[ \t]+)?")@(([a-z\d\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]|[a-z\d\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF][a-z\d\-._~\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]*[a-z\d\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])\.)+([a-z\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]|[a-z\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF][a-z\d\-._~\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]*[a-z\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])\.?$/i;
return pattern.test(emailAddress);
};
謝謝你們的幫助!意思是很多:)
編輯:當表格填寫正確時,它說:「恭喜你的消息已發送」 - 這意味着它是一個有效的表單提交,我從來沒有真正收到電子郵件。
編輯2:我去我FileZilla的嘗試和編輯/從那裏查看js文件,我得到以下錯誤:
不能完全確定什麼是需要(一種新望這一切)。而且,這裏是我的形式:
<form class="rsForm" action="php/mailsender.php" method="post">
<div class="input-field">
<label>Name</label>
<input type="text" name="rsName" value="">
<span class="line"></span>
</div>
<div class="input-field">
<label>Email</label>
<input type="email" name="rsEmail" value="">
<span class="line"></span>
</div>
<div class="input-field">
<label>Subject</label>
<input type="text" name="rsSubject" value="">
<span class="line"></span>
</div>
<div class="input-field">
<label>Message</label>
<textarea rows="4" name="rsMessage"></textarea>
<span class="line"></span>
</div>
<span class="btn-outer btn-primary-outer ripple">
<input class="rsFormSubmit btn btn-lg btn-primary" type="submit" value="Send">
</span>
</form>
你的'html'看起來如何? **從不**依靠'javascript'驗證任何數據,因爲這是基於客戶端的,並且可能受到用戶的影響。在這種情況下,你如何處理「表單」提交很重要。 – Nytrix
'action'部分表示您將'input'數據發送到文件夾'php'和文件'mailsender.php'。所以,你上面顯示的代碼應該在該文件和文件夾中。如果確實如此,請看@AdrianHiggins給出的答案。一個快速的調試技巧也可以傳播隨機消息,並查看它不再發生的地方。 – Nytrix
是的,我有一個php文件夾與目錄中的確切文件(上面)。所以這似乎是正確設置... –