2012-01-07 18 views
0

PHPで連絡先フォームを作成する際に無限のトラブルが発生しています。PHPメール機能が正しく動作しない

私は最初にデータを書き込む方法を試しました(ここでの質問に概説されています):HTML Form Not Outputting To CSV File (Or Displaying Correct Error Messages)です。私は自分の電子メールで情報を送信する方法を試しています。ここで

は私のjsfiddleです:

http://jsfiddle.net/tqs6g/1/

ここで私は自分自身に情報を送信するために書いたPHPは(私はそれが非常にエレガントなコーディングではありません理解が、私はちょうど最初にして動作するように何かを取得したいです私は)、などを配列を使用するつもりだった:私はこの例で使用

<?php 

if (isset($_POST['brandname']) && isset($_POST['firstname']) && isset($_POST['lastname']) && isset($_POST['email']) && isset($_POST['website'])){ 
    $brandname = $_POST['brandname']; 
    $firstname = $_POST['firstname']; 
    $lastname = $_POST['lastname']; 
    $email = $_POST['email']; 
    $website = $_POST['website']; 

    if(!empty($brandname) && !empty($firstname) && !empty($lastname) && !empty($email)){ 
     $to = '[email protected]'; 
     $subject = 'Submission Form'; 
     $body = $firstname; 
     $headers = 'From: '.$email; 

     if (@mail($to, $subject, $body, $headers)){ 
      echo 'Yeah yeah'; 
      }else{ 
       echo 'yeah no.'; 
       } 

     }else{ 
     echo 'Please fill out all required fields.'; 
     } 

    } 
?> 

電子メールは明らかに私の電子メールではありません(私は)私のコードで私の本当のいずれかを使用します。基本的には、フォームに記入してsubmitを押すと、form.phpページがリロードされます。私は私の電子メールをチェックし、何も通っていない。私がサイトのソースコードを確認したら、「うんうん」と言います。コードに表示されます(そこから、電子メールを正常に送信したときにエコーされます)。コードは正しく動作しているようですが、何も出力していません。

は、私は私のローカルホストを通じていくつかのメールサーバ/機能を設定する必要がありますか?

私は何が欠けていますか?

+0

あなたが(例えば、XAMPPで)ローカルで作業している場合は、メールを送るためにphp.ini' 'でsendmailにパスを設定する必要があります。これは参考になるかもしれません:http://www.codingforums.com/archive/index.php/t-77553.html – Quasdunk

+0

警告をオンにしたり、ログをチェックしたりできますか? – mat

+0

私のphp.iniは既に持っています:[メール機能] ; Win32のみ。 SMTP = localhost smtp_port = 25。これは私が見なければならないラインですか? – MillerMedia

答えて

0

サーバー上に何も設定する必要はありませんが、それは私のためにうまく動作します。

だけmail@mailを交換してみてください。 mail(...)は常に私のために働く。

+1

['@' 'operator'](http://thesmithfam.org/blog/2006/05/07/php-the-operator/)はエラーメッセージを表示しません。 '@mail'と' mail'は同じ関数を呼び出します。 – Alex

+0

@H Bellamy私はそれを試みたが、何も変わらなかった。 – MillerMedia

関連する問題