如何在提交php表单时向用户发送电子邮件

时间:2012-06-02 15:32:54

标签: php html forms

如何使用表单提交的数据向用户发送包含一条消息的表单,并在提交php表单时感谢他们。

这是我目前的PHP代码。它目前只是向他们显示一条消息,上面写着姓名,消息已经发送,然后发送电子邮件到我的电子邮件地址。

<?php
    if(isset($_POST['submit'])){

        $to = "benlevygraphics@gmail.com";
        $headers = "From: " . $_POST['email'];
        $subject = "Ben, you have been contacted...";
        $body = "Name: " . $_POST['name'] . "\nEmail: " . $_POST['email'] . "\nWebsite: " . $_POST['web'] . "\nMessage: " . $_POST['message'];

        if(mail($to, $subject, $body, $headers)){

        echo("<p class=contactformsent>".$_POST['name'].", your message has been sent!</p>");

        }
        else{
           echo("<p class=contactformnotsent>".$_POST['name'].", Message delivery failed...</p>");
        }
   }
?>

我是php的新手,我已经在线阅读了这些东西,但我仍然不明白,如果你能在你的例子中明确或者帮助我会非常感激。谢谢!

2 个答案:

答案 0 :(得分:1)

查看您的php.ini,因为您必须输入SMTP服务器。 在我的文件中,它从第1087行开始,带有“[mail function]”

答案 1 :(得分:1)

假设您当前的代码已经正常运行,您可以这样做,与收件人一起发送电子邮件:

  1. $to设为$_POST['email']
  2. $headers设为"From: {$_POST['email']}\r\nBcc: benlevygraphics@gmail.com"
  3. 根据您的需要调整$body$subject
  4. 是的,我不能经常说这个;确保您的页面具有某种形式的CSRF保护。

    How to properly add CSRF token using PHP

    以上只是一种方式,还有其他方式,只需搜索它:)