2013-04-24 179 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]),则可能是收件人可能会将您的电子邮件视为垃圾邮件。