电子邮件正文中的Php帖子名称
我是php新手,我有一个工作联系人表单,但我想将发件人姓名添加到我收到的电子邮件正文中,这是我尝试过的-电子邮件正文中的Php帖子名称,php,email,Php,Email,我是php新手,我有一个工作联系人表单,但我想将发件人姓名添加到我收到的电子邮件正文中,这是我尝试过的- <?php $to = "joedunlopburns@gmail.com"; $subject = "The Lantern Contact"; $name = $_REQUEST['name']; $email = $_REQUEST['email']; $message = "Message from $name\n$message"; $headers
<?php
$to = "joedunlopburns@gmail.com";
$subject = "The Lantern Contact";
$name = $_REQUEST['name'];
$email = $_REQUEST['email'];
$message = "Message from $name\n$message";
$headers = "From: $email";
$sent = mail($to, $subject, $message, $headers) ;
?>
对不起,我太傻了
编辑-添加表格
<form id="contactform" method="POST" action="php/contact.php">
<input class="equal" type="text" name="name" autocomplete="on" placeholder="Name"><br/><br/>
<input class="equal" type="email" name="email" autocomplete="on" placeholder="Email Address"><br/><br/>
<input class="hide" type="email" name="fake">
<textarea class="equaltall" type="text" name="message" placeholder="Message"></textarea><br/><br/>
<input class="button" type="submit" value="Send">
</form>
使用$\u POST和$\u GET比使用$\u REQUEST更好,并且您使用$\u POST作为正文行,因此我假设您的数据是使用POST发送的
当您收到任何用户输入时,您一定要对其进行测试。你可以用它来做
<?php
$to = 'me@gmail.com';
$subject = 'Contact';
$name = filter_input(INPUT_POST, 'name', FILTER_SANITIZE_STRING);
$email = filter_input(INPUT_POST, 'email', FILTER_SANITIZE_EMAIL);
$message = filter_input(INPUT_POST, 'message', FILTER_SANITIZE_STRING);
$body = $name; // why not use name in the following code?
$headers = "From: $email";
$sent = mail($to, $subject, $message, $body, $headers) ;
?>
我还建议不要使用给定的电子邮件地址作为发件人,因为该邮件可能会被视为垃圾邮件,来自一个不相关的smtp服务器…a)为什么是$message和$body?b) 如果您有$name,那么为什么不使用它呢?我使用这个名称来表示,谢谢$name,我们很快就会回复。我想在邮件中打印$name,这样我就可以得到发件人的姓名,而不仅仅是他们的电子邮件地址,thanksChange
$body=$\u POST[“$name”]代码>至$body=$\u POST[“name”]首先,这封邮件($to,$subject,$message,$body,$headers)
是无效的。您只能有一个消息正文。此处:$message=“message from$name\n$message”
并摆脱$body=$\u POST[“$name”]代码>并将($to、$subject、$message、$body、$headers)
更改为($to、$subject、$message、$headers)
,这将使er进入高速档;-)