2017-08-13 6 views
-3

私のウェブページの私の連絡フォームは最終的にメールを送信しますが、正しいフォーマットで送信しません。以下は、私が得ているものの電子メールです。私はプライバシーの理由からメールと組織をぼかしました。とにかくphpフォームはメールを送信していますが、正しい方法ではありません

updated email outcome

、あなたが写真から見ることができるように、名前、電子メール、そして人はお問い合わせフォームで書かれていただろう、メッセージの内容ではなく、実際の電子メールの件名にあるボックス - - 私はそれをテストするためにフォームに記入していたときにジッバージャバーを書きました。メッセージと書いた名前が件名ボックスではなくメッセージボックスに表示されるようにコードを書式設定できる方法はありますか?電子メールはフォームに電子メールを入れた人から送信されます。どんな助力も大変ありがとうございます。事前に感謝しています!ここで

私のコードは、これまでのところです:

HTML

 <form id="main-contact-form" name="contact-form" method="post" action="sendemail.php" accept-charset="UTF-8"> 
    <div class="row wow fadeInUp" data-wow-duration="1000ms" data-wow-delay="300ms"> 
     <div class="col-md-6"> 
      <div class="form-group"> 
       <input type="text" name="name" class="form-control" placeholder="Name" required="required" style="color: #ffffff"/> 
      </div> 
     </div> 
     <div class="col-md-6"> 
      <div class="form-group"> 
       <input type="email" name="email" class="form-control" placeholder="Email Address" required="required" style="color: #ffffff"/> 
      </div> 
     </div> 
    </div> 
    <div class="form-group"> 
     <textarea name="message" id="message" class="form-control" rows="4" placeholder="Enter your message" required="required" style="color: #ffffff"></textarea> 
    </div> 
    <div class="form-group"> 
     <button type="submit" class="btn-submit">Send Now</button> 
    </div> 
</form> 

CSS--私は念のためにそれをここに入れます。

#contact { 
    background-image: url(../images/contact-bg.jpg); 
    padding-bottom: 0; 
    height: auto; 
    background-attachment: fixed; 
} 

#contact .heading { 
    padding-top: 95px; 
} 

#main-contact-form { 
    text-align: center; 
} 

.contact-info { 
    text-align: left; 
} 

form { 
    align: center; 
    margin: 0 auto; 
} 

.form-control { 
    background-color: transparent; 
    border-color: rgba(255, 255, 255, .8); 
    height: 50px; 
    border-radius: 1; 
    box-shadow: none; 
} 

textarea.form-control { 
    min-height: 180px; 
    resize: none; 
} 

.form-group { 
    margin-bottom: 30px; 
} 


ul.address { 
    margin-top: 30px; 
    list-style: none; 
    padding: 0; 
    margin: 0; 
} 

.contact-info ul li { 
    margin-bottom: 8px; 
} 

.contact-info ul li a { 
    color: #fff; 
} 

.btn-submit { 
    display: block; 
    padding: 12px; 
    width: 100%; 
    color: #fff; 
    border: 0; 
    margin-top: 40px; 
} 

Javaスクリプト

 (function ($) { 
     var messages = { 
      'progress': '<p><i class="fa fa-spinner fa-spin"></i> Sending email...</p>', 
      'success': '<p class="text-success">Thank you for contacting us. We will contact you as early as possible.</p>', 
      'error': '<p class="text-danger">Aw snap! Something didn\'t go right!</p>' 
     }; 
     var $form = $('form#main-contact-form'); 
     var formStatus = $('<div class="form_status"/>'); 
     $form.submit(function (e) { 
      e.preventDefault(); 
      $.ajax({ 
       type: 'POST', 
       url: $form.attr('action'), 
       data: $form.serialize(), 
       dataType: 'json', 
       beforeSend: function() { 
        formStatus.html(messages.progress).fadeIn().prependTo($form); 
       }, 
       success: function (data) { 
        if (data.success === true) { 
         formStatus.html(messages.success); 
        } else { 
         formStatus.html(messages.error); 
        } 
        formStatus.fadeIn().delay(3000).fadeOut(); 
       }, 
       error: function() { 
        formStatus.html(messages.error).fadeIn().delay(3000).fadeOut(); 
       } 
      }); 
     }) 
    })(jQuery); 

PHP

<?php 
$to = '[email protected]'; 
$name = !empty($_POST['name']) ? filter_var(trim($_POST['name']), FILTER_SANITIZE_STRING) : ''; 
$from = !empty($_POST['email']) ? filter_var(trim($_POST['email']), FILTER_SANITIZE_EMAIL) : $to; 
$message = !empty($_POST['message']) ? filter_var(trim($_POST['message']), FILTER_SANITIZE_STRING) : ''; 

$body = "Name: {$name}\r\nEmail: {$from}\r\nMessage: {$message}"; 

$body = wordwrap($body, 70, "\r\n"); 

$headers = [ 
    'MIME-Version: 1.0', 
    'Content-type: text/plain; charset=iso-8859-1', 
    "From: $name <$from>", 
    "Reply-To: <$from>", 
    'X-Mailer: PHP/' .phpversion() 
]; 
    $subject = 'some subject'; 
$success = mail($to, $body, implode("\r\n", $headers)); 

if(!empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) === 'xmlhttprequest') { 
    die(json_encode(['success' => $success])); 
} 

echo $success ? 'Sent Successfully.' : 'An error occurred'; 

ini_set('display_errors', 1); error_reporting(E_ALL); 

?> 
+1

と同じではありません - 何度も質問を投稿しないでください - これは[質問禁止]につながることができます(https://stackoverflow.com/help/質問を禁止して)、下落した/削除された質問を持つ。 –

答えて

2

あなたは対象のパラメータが欠落している、the docsをお読みください。

また、'\r\n'は注意して"\r\n"

$subject = 'some subject'; 
$success = mail($to, $subject, $body, implode("\r\n", $headers)); 
+0

あなたの提案を自分のコードに追加しましたが、今度はメールを受け取っていません。また、自分のコードを表示するために私の質問を編集しました。 – Nora

+0

もう一度チェックして、しばらくしてからウェブサイトが動作するのに時間がかかったと思っていましたが、今度はメールを受け取りました。私の質問を見ると、私はその絵を更新しました。私はまだ同じ結果を得ていますが、メッセージの内容は少なくとも何らかの形式です。しかし、メッセージはまだタイトルにあります。 – Nora

+0

も更新されたPHPコードを表示します。私はもっ​​と簡単なことを試してみることをお勧めします。ちょっと空想的なことはしませんが、電子メールを送信して、ドキュメントに従ってください。 – Isaac

関連する問題