【发布时间】:2013-04-18 04:13:03
【问题描述】:
我将以下代码与 HTML 一起用于标题。
$email="example@example.com";在示例中,我想在其位置实现变量。 代码如下所示,但既不显示错误也不发送电子邮件。
我已经尝试了以下链接PHP email form not sending information,PHP Sending Emails with File Attachments - Email Not Sending At All。
我试过了
$headers .= "From: <".$email.">\n";
和
$headers .= $email;
这会在标签电子邮件中的标头中显示$email。
但它工作正常,直到这一行:
$headers .= 'From: ' .$email. "\r\n";
如果我删除此行,上面的行不会发送电子邮件,但它不会将 From email 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 ='example@example.com';
mail($to,$subject,$body,$headers);
echo "<script>alert(' message sent.');</script>";
?>
【问题讨论】:
-
能否请您添加其余代码?
-
添加的代码请不要对这个问题投反对票。
-
所以除了在标题中添加“发件人”行的部分之外,一切正常吗?如果该行存在,则不会发送电子邮件;但如果你把它注释掉,它会吗?在这种情况下 - 您要添加什么作为电子邮件?你说它不发送电子邮件是什么意思 - SMTP 日志中有错误吗?还是一切看起来都正常,但电子邮件从未到达?
-
在您的问题中,您的行格式为“发件人:$email” - 在您发布的代码中,冒号和电子邮件地址之间没有空格。这可能是个问题。
-
另外,我不确定
Content-type:text\html;是否需要尾随分号。基本上 - 你可以将$headers分成三个部分,然后尝试注释掉每个部分,看看其他行是否有问题?
标签: php