2013-07-15 135 views
0

如果我從郵件功能中刪除$頭功能它的工作,它發送$郵件包含在郵件中的所有HTML代碼而不是顯示錶,但是當我在郵件功能中包含$頭時,它不發送郵件它甚至沒有顯示任何錯誤。我的code.im正在web服務器上工作。PHP的郵件功能不工作

<?php 

    //Deal with the email 

    if(isset($_POST['submit'])) 
    { 


    $to = '[email protected]'; 
      $title = 'New Enquiry || example.com'; 

    $subject = $_POST['subject']; 
      $message = $_POST['message']; 
    $name = $_POST['name']; 
    $email = $_POST['email']; 

    } 

    $headers .= "From: " . strip_tags($email) . "\r\n"; 
    $headers .= 'MIME-Version: 1.0' . "\r\n"; 
    $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n"; 


    $msg = '<html><head><body><b>'.$title.'</b> 

      <br> 

      <table bgcolor=#CCCCCC> 
      <tr> 
      <td> Subject : </td> 
      <td> '.$subject.'</td></tr>' 

      .'<tr> <td> Contact person: </td><td>'.$name.'</td></tr>' 
      .'<tr> <td> E-mail:</td><td> '.$email.'</td></tr>' 
      .'<tr><td> Message : </td><td>'.$message.' </td></tr></table></body></head></html>'; 


    mail($to, $title, $subject, $msg, $headers); 

    header("refresh:1;url=contact-us-ok.html");   


?> 
+0

@DanyCaissy那麼爲什麼沒有'$頭'呢? – Barmar

+0

您的HTML嵌套錯誤。你不能在''內部有''。 – Barmar

+0

感謝指出它的人。我不知道爲什麼它的工作沒有$頭,但我已經讀過$頭是可選的。 – 8bitrebellion

回答

0

的郵件功能被定義

mail($to, $title, $subject, $msg, $headers); 

看起來你要發送的$ title變量,當你不應該。

+0

好的,我刪除了$ title variable.and在郵件前面插入了bool,但是dreamweaver顯示有語法錯誤。 – 8bitrebellion

+0

感謝您的回覆,通過從HTML代碼中刪除$ title和解決了問題。 – 8bitrebellion

1

你的論點爲了mail()是錯誤的。它應該是:

mail($to, $subject, $msg, $headers); 

「標題」沒有參數。

Manual

布爾郵件(字符串$到,串$主題,串$消息[,字符串$ additional_headers [,字符串$ additional_parameters])

附註:

  • strip_tags()不足以防止標頭注入。我建議您使用自己的硬編碼電子郵件地址作爲From地址,而不是用戶輸入,因爲否則您可能會得到不一致的垃圾郵件過濾結果,您顯然必須實施一些驗證以防止注入漏洞。

    bool mail (string $to , string $subject , string $message [, string $additional_headers [, string $additional_parameters ]]) 
    

    來源::http://php.net/manual/en/function.mail.php

    您發送:

+0

您好我已經在郵件前插入了bool,但是dreamweaver顯示有語法錯誤。 – 8bitrebellion

+0

感謝您的回覆,通過從HTML代碼中刪除$ title和解決了問題。 – 8bitrebellion