PHP获取填写的电子邮件并向该电子邮件发送消息?

时间:2013-11-17 15:40:36

标签: php email

所以我想要做的就是收到他们填充论坛的电子邮件,然后向他们填写的电子邮件发送消息是我拥有的:它说它已发送但我从未收到消息:

 <?php
       $name = $_POST['name'];
       $email = $_POST['email'];
       $message = $_POST['message'];
       $from = 'From: My Contact Form';
       $to = '$email';
       $subject = 'Folio Message';

       $body = "Hello";



       if ($_POST['submit']) {
           if (mail ($to, $subject, $body, $from)) {
           echo '<center><font color="lightgray"><p>Message Sent Successfully!</p><script type="text/javascript"> function leave() { window.location = "http://webdesign.about.com"; } setTimeout("leave()", 3000); </script></center>';
           } else {
           echo '<center><font color="lightgray"><p>Ah! Try again, please?</p></font></center>';
           }
       }
    ?>

所以我有$to = '$email';所以通过这样做它应该读取正确填写的电子邮件?我的PHP技能很弱 有任何想法吗?还是建议? 提前谢谢亲切的人!

3 个答案:

答案 0 :(得分:1)

$ to ='$ email';

中删除撇号

应该 $ to = $ email;

使用撇号,您的 $ to 变量将设置为字符串“$ email”,而不是用户输入的电子邮件。

答案 1 :(得分:0)

删除$email周围的单引号,因此您的代码如下所示:$to = $email;

PHP将单引号中的内容评估为文字字符串,而不解释任何变量。因此,它实际上使用文本$email作为收件人的电子邮件地址。

答案 2 :(得分:0)

这里有两件事:

  1. From标头应包含有效的邮件地址。 E.g。

    $from = 'From: youraddress@domain.com';
    
  2. 正如其他人所说,修复单引号。您可以在$email调用

    中使用mail
    mail ($email, $subject, $body, $from)
    
  3. 另外,请考虑清理POST参数。特别是如果您的脚本位于公开网站上。