2013-11-21 79 views
0

嗨,那裏我是一個新手的網頁編碼器,並最近設計和編碼爲客戶的網站。他們要求聯繫頁面上的表單包含文件附件上傳功能。 我對PHP不太熟悉,但是我做了一些研究,並設法在網上找到了一些編碼,這些編碼已經在我的網站上實現,用於完成這項工作。我已經將我的電子郵件作爲接收者插入,並且現場測試了表格,附件文件正常工作,允許文件通過:)。不過,我似乎在郵件帳戶(gmail)中收到了一條警告消息,說明信息通過說形式與附件給出了不同的結果

「請注意此消息。類似的消息用於竊取個人信息。除非您信任發件人,否則點擊鏈接或回覆個人信息。「

我的問題是我該如何避免此警報? 我不希望我的客戶在將電子郵件作爲接收者更改爲他的帳戶後不得不處理此警報。另外,我已經收到一封隨機的電子郵件,要求我玩視頻遊戲 - 垃圾郵件?我怎樣才能避免這種情況? (我試圖實現一個recaptcha,但我不喜歡這些,因爲他們往往很難看)

此外爲什麼是輸入字段要求「名稱」和「電子郵件」不顯示在我收到的電子郵件中?只有「消息」字段信息被轉發到我的電子郵件。

任何幫助,非常感謝。 在此先感謝。

這裏是我現在有的PHP文件,它似乎在某種程度上工作;

<?php 
if(isset($_POST['submit'])) 
{ 
    //The form has been submitted, prep a nice thank you message 
    $output = '<h1>Thanks for your file and message!</h1>'; 
    //Set the form flag to no display (cheap way!) 
    $flags = 'style="display:none;"'; 

    //Deal with the email 
    $to = '[email protected]'; 
    $subject = 'a file for you'; 

    $message = strip_tags($_POST['message']); 
    $name = strip_tags($_POST['name']); 
    $email = strip_tags($_POST['email']); 
    $attachment = chunk_split(base64_encode(file_get_contents($_FILES['file']['tmp_name']))); 
    $filename = $_FILES['file']['name']; 

    $boundary =md5(date('r', time())); 

    $headers = "From: netzeroliving.ca\r\nReply-To: netzeroliving.ca"; 
    $headers .= "\r\nMIME-Version: 1.0\r\nContent-Type: multipart/mixed; boundary=\"_1_$boundary\""; 

    $message="This is a multi-part message in MIME format. 

--_1_$boundary 
Content-Type: multipart/alternative; boundary=\"_2_$boundary\" 

--_2_$boundary 
Content-Type: text/plain; charset=\"iso-8859-1\" 
Content-Transfer-Encoding: 7bit 

$message 

--_2_$boundary-- 
--_1_$boundary 
Content-Type: application/octet-stream; name=\"$filename\" 
Content-Transfer-Encoding: base64 
Content-Disposition: attachment 

$attachment 
--_1_$boundary--"; 

    mail($to, $subject, $message, $headers); 
} 
?> 

^^^我必須指出,上述PHP代碼放置在body標籤之外......不知道這是否應該放在身體標記中或不^^^

<form enctype="multipart/form-data" action="<?php echo $_SERVER['PHP_SELF'];?>" method="post" <?php echo $flags;?>> 


      <p class="name"> 
       <input type="text" name="name" id="name" /> 
       <label for="name">Name</label> 
      </p> 

      <p class="email"> 
       <input type="text" name="email" id="email" /> 
       <label for="email">E-mail</label> 
      </p> 


      <p> 
       <label for="message">Message</label> 
       <textarea name="message" id="message" cols="20" rows="8"></textarea> 
      </p> 

      <p> 
       <label for="file">File</label> 
       <input type="file" name="file" id="file"> 
      </p> 

      <p> 
       <input type="submit" name="submit" id="submit" value="send"> 
      </p> 
</form> 

^^^上述編碼位於主體標籤內^^^

回答

0

將您的地址設置爲實際的電子郵件地址,例如[email protected]。現在看起來你沒有正確的電子郵件地址發送消息。

此外,請將您的主題更改爲聽起來不像病毒垃圾郵件的內容。

關於名稱/電子郵件沒有顯示,它似乎沒有放在消息的任何地方(尋找$ email和$ name)。

關於垃圾郵件,check out this question

相關問題