Php 在mail()函数中,';发件人:';仅显示第一个世界
我有这个密码,应该是发送邮件到某个地址。问题是:在标题中,我应该得到像“Bob Marley”这样的名称,但是如果名称大于一个单词,它会显示“(未知发件人)”。如果名称正好是一个单词,它就起作用了。如果我将$u POST['nume']值连接到$message,它就在那里。由于某些原因,在标题中,它不能正常工作Php 在mail()函数中,';发件人:';仅显示第一个世界,php,email,Php,Email,我有这个密码,应该是发送邮件到某个地址。问题是:在标题中,我应该得到像“Bob Marley”这样的名称,但是如果名称大于一个单词,它会显示“(未知发件人)”。如果名称正好是一个单词,它就起作用了。如果我将$u POST['nume']值连接到$message,它就在那里。由于某些原因,在标题中,它不能正常工作 <form name="contact" method="post" class="clearfix" id="formular"> <input class="
<form name="contact" method="post" class="clearfix" id="formular">
<input class="inputC" type="text" placeholder="Full Name" id="numeCo" onClick="clearValue(this.id)" onBlur="testValue(this.id)" name="nume"/>
<input class="inputC" type="text" placeholder="E-mail Address" id="adresaCo" onClick="clearValue(this.id)" onBlur="testValue(this.id)" name="adrMail"/>
<input class="inputC" type="text" placeholder="What services do you need?" id="serviciiCo" onClick="clearValue(this.id)" onBlur="testValue(this.id)" name="servicii"/>
<div class="sumarise">
<textarea class="textAreaC" placeholder="Please summarize your project..." id="textArCo" onClick="clearValue(this.id)" onBlur="testValue(this.id)" name="descriere"></textarea>
</div>
<div class="sB clearfix">
<input class="submitC" type="submit" value="Send Message" />
</div>
</form>
<?php
if(isset($_POST['nume'], $_POST['adrMail'], $_POST['descriere']))
{
/*echo "<script> return checkForm();</script>";*/
$to = "radu.mircea.andrei@gmail.com";
$subject = $_POST['servicii'];
$message = $_POST['descriere'];
$name = $_POST['nume'];
$headers= "From: ".$name."\n".'Reply-To: '.$_POST['adrMail'];
mail($to,$subject,$message,$headers);
}
?>
收件人地址需要符合以下要求-也许发件人地址也需要:
From: Birthday Reminder <birthday@example.com>
发件人:生日提醒
看
PHP文档还指出,
\n
应该是有效的,如果您在\r\n
方面遇到问题,建议您使用它-因此我认为这不太可能是问题所在,尽管尝试这样做也没有害处。我将把这作为答案,因为我认为您需要注意这一点非常重要
使用mail()
函数时存在漏洞,就像使用用户定义的From
标题一样。请看这里的问题:
但是,要解决您的实际问题:
- 同时尝试使用\r\n(如@Sudhir所说)(我发现\r\n更符合某些邮件客户端)
- 也像@Sohnee所说的那样发一封电子邮件