[英]Configuration issue with PHP contact form
我已經看到在StackOverflow上有許多與我的問題類似的問題,但是我認為我仍然無法找到正確的解決方案。
我遇到的問題與接收電子郵件功能有關-基本上是網站的“ 與我們聯系”部分,用戶可以在其中填寫基於html
的表格並按send message
然后此消息將發送到我的電子郵件中。
我使用XAMPP進行開發,並在localhost上運行Apache服務器和Mercury。 即使驗證顯示成功-電子郵件也無法通過。
method="post"
添加到HTML部分,但是發現該type: "POST"
已經包含在內。 php.ini
提到的端口進行了比較,兩者均設置為25
。 我已經仔細閱讀了這篇非常詳細的文章 。 將網站上傳到實時托管的想法來自此帖子。
<?php
$name = trim($_POST['name']);
$email = trim($_POST['email']);
$message = trim($_POST['message']);
if( isset($name) && isset($email) ) {
// Avoid Email Injection and Mail Form Script Hijacking
$pattern = "/(content-type|bcc:|cc:|to:)/i";
if( preg_match($pattern, $name) || preg_match($pattern, $email) || preg_match($pattern, $message) ) {
exit;
}
$to = "myemail@gmail.com";
$sub = "$name from Cv";
// HTML Elements for Email Body
$body = <<<EOD
<strong>Name:</strong> $name <br>
<strong>Email:</strong> <a href="mailto:$email?subject=feedback" "email me">$email</a> <br> <br>
<strong>Message:</strong> $message <br>
EOD;
$headers = "From: $name <$email>\r\n";
$headers .= 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
mail($to, $sub, $body, $headers);
}
?>
$("#contact-form-1").submit(function(e) { e.preventDefault(); var success = $(this).find('.email-success'), failed = $(this).find('.email-failed'), loader = $(this).find('.email-loading'), postUrl = $(this).attr('action'); success.fadeOut(100); failed.fadeOut(100); loader.fadeOut(100); var data = { name: $(this).find('.contact-name').val(), email: $(this).find('.contact-email').val(), message: $(this).find('.contact-message').val() }; if ( isValidEmail(data['email']) && (data['message'].length > 1) && (data['name'].length > 1) ) { $.ajax({ type: "POST", url: postUrl, data: data, beforeSend: function() { loader.fadeIn(500); }, success: function(data) { loader.fadeOut(500); failed.fadeOut(500); success.delay(500).fadeIn(500); }, error: function(xhr) { // if error occured loader.fadeOut(500); success.fadeOut(500); failed.delay(500).fadeIn(500); }, complete: function() { loader.fadeOut(500); } }); } else { loader.fadeOut(500); failed.delay(500).fadeIn(500); success.fadeOut(500); } return false; });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <form id="contact-form-1" action="sendmail.php" method="POST"> <input class="contact-name form-control" type="text" name="name" placeholder="FULL NAME"> <input class="contact-email form-control" type="text" name="email" placeholder="EMAIL"> <textarea class="contact-message form-control" name="message" placeholder="MESSAGE" rows="5"></textarea> <button class="btn">SEND MESSAGE</button> </form>
注意:我不是由模板創建者自己提供的,而是由我自己編寫的。 我已與模板創建者聯系,並獲得了絕對可怕的支持。 這是我在這里發表文章的主要原因。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.