-1

我希望这个问题有一个简单的答案。

我在一个网站上有一个 HTML 表单,它使用 GET 方法将表单中的变量发送到 PHP 页面,即

<form name="create_landing_page" action="/landing-page/" method="get">

我还想做的是在提交该表单时生成一封电子邮件,因此我将动态 URL 写在某处,因为我们不将它们保存到数据库中。我尝试在登录页面上放置一些 PHP,该页面使用此方法在页面加载时自动生成电子邮件:如何在访问页面时发送电子邮件通知?,但我没有收到任何测试邮件。

有没有一种非常简单的方法可以从提交的表单中获取变量并通过电子邮件发送,或者从登录页面获取 URL 并通过电子邮件发送?

谢谢你的帮助!

4

3 回答 3

2

最好的方法是从表单中检索值,然后通过电子邮件发送这些值:

注意:我没有以任何方式清理输入 - 所以如果您要使用数据库,请确保清理它们!

登陆页面.html

<form name="create_landing_page" action="/landing-page/" method="get">
<input name="email_address" value="Enter your email" />
<input name="name" value="Enter your name" />
</form>

登陆页面(.php)

        if(isset($_GET['email_address']) && !empty($_GET['email_address'])){
    $emailAddress = $_GET['email_address'];
    }

        if(isset($_GET['name']) && !empty($_GET['name'])){
    $name= $_GET['name'];
    }

        $to      = $emailAddress;
        $subject = 'the subject';
        $message = 'hello ' . $name;
        $headers = 'From: youremail@example.com' . "\r\n" .
            'Reply-To: youremail@example.com' . "\r\n" .
            'X-Mailer: PHP/' . phpversion();

        if(!mail($to, $subject, $message, $headers))
        {
            die('There was an error sending out the email');
        }
于 2013-03-14T16:07:48.043 回答
1

原因可能是你的系统上没有邮件服务,试试:

$result=mail($mailAddress,$subject,$content);
if(!$result)
    die("Mail subsystem error!");
于 2013-03-14T16:10:11.093 回答
0

如果您想知道脚本正在运行的页面的完整路径(包括任何参数),您可以使用_SERVER["REQUEST_URI"].

根据您的应用程序的托管位置和服务器的配置方式,发送邮件可能会很棘手。托管服务有时会禁用该mail()命令以减少垃圾邮件。如果您使用的是共享托管服务,您可能需要检查是否mail()可用。

于 2013-03-14T16:09:28.170 回答