2013-04-24 144 views
0

我使用以下代碼與HTML一起用於標頭。不發送電子郵件在PHP中使用標題從電子郵件ID

$ email =「[email protected]」;在這個例子中,我想在它的位置實現變量。 代碼如下所示,但不顯示錯誤或發送電子郵件。

我試過以下鏈接PHP email form not sending information,PHP Sending Emails with File Attachments - Email Not Sending At All

我已經試過

$headers .= "From: <".$email.">\n"; 

$標題= $電子郵件。

這會在標籤中顯示來自電子郵件標題的$ email。

但其做工精細,直到這條線:

$headers .= 'From: ' .$email. "\r\n"; 

上面這條線不發送電子郵件,如果我刪除此行它的工作原理,但它不會從電子郵件ID添加到頭部。

請幫助我,它不顯示任何錯誤,我已經嘗試了許多變化到上面的代碼,但仍然難倒。

<?php 

$name = $_REQUEST['name']; 
$email = $_REQUEST['email']; 
$phone = $_REQUEST['contact']; 

$subject = "feedback"; 
$question = $_REQUEST['question']; 


$body = "<html> 
<head> 

</html>"; 
$mime_boundary = "<<<--==+X[".md5(time())."]\r\n\r\n"; 
$headers = "MIME-Version: 1.0"."\r\n" ."Content-Type:text/html;"."\r\n"; 
$headers .= 'From:'.$email. "\r\n"; 


$to ='[email protected]'; 
mail($to,$subject,$body,$headers); 
echo "<script>alert(' message sent.');</script>"; 

?> 
+2

請問您可以添加其他代碼嗎? – andrewsi 2013-04-24 14:42:11

+0

添加代碼請不要downvote這個問題。 – 2013-04-24 15:15:01

+1

因此,除了將'From'行添加到標頭的部分之外,一切都正常工作?如果該行在那裏,它不會發送電子郵件;但如果你評論它,它會?在這種情況下 - 您作爲電子郵件添加了什麼?並且它不是發送電子郵件的意思 - SMTP日誌中是否存在錯誤?或者一切看起來像是在工作,但電子郵件永遠不會到達? – andrewsi 2013-04-24 15:20:03

回答

0

,如果你使用標準mail功能,那就試試這個(不「從」頭添加到$頭):

mail($to,$subject,$message,$headers,"-f ".$email); 
+0

試過你的解決方案仍然無法正常工作。我已經添加了上面的代碼。請不要downvote我的問題。 – 2013-04-24 15:16:22

0

我有同樣的問題與我正在處理的服務器之一用。顯然,在我的服務器中,沒有指定「發件人」標題會從您帳戶的默認郵件地址發送電子郵件(如果是共享主機)。我選擇這個解決方案作爲臨時修復,並在「Reply-To」標題中指定我的實際地址。這樣,我仍然可以收到發送給這些電子郵件線索的回覆。

此方法似乎只適用於功能性電子郵件地址(例如,[email protected])。如果您對用戶的電子郵件地址使用此方法(例如,[email protected]),則可能是收件人可能會將您的電子郵件視爲垃圾郵件。