0

我的网站是 HTML5。因此,我的文件是.html. 我有一个contact.html文件,我想用它来发送消息,使用 PHP。我对 PHP 没有太多经验(因此,如果有人可以推荐一种更好的替代方式,非 .NET 发送电子邮件的方式,请告诉我)。

我最初的想法是将我的 PHP 代码包含在我的 HTML 文件中(我不知道这是否可能甚至是否推荐)。我以前做过一次,我相信我记得有一个form标签,它的属性中某处指定了.php我用来发送电子邮件的文件。

类似的东西<form someattribute="sendmail.php"> ... </form>

问题:鉴于我认为我应该做的(上面),这是最好的方法(在我的表单标签中指定 PHP 文件),还是你推荐一种更好的方法来从原始.html文件发送电子邮件?

4

5 回答 5

5

您不能仅使用 HTML 来做到这一点。如果您坚持使用 PHP 解决方案,请尝试

<?php
    if(isset($_POST['send'])) //check the submit button was pressed
    {
        //get variables from POST array. Remember we specified POST method
        $to = $_POST['to'];
        $subject = $_POST['subject'];
        $message = $_POST['message'];

        //set up headers
        $headers = 'From: webmaster@example.com' . "\r\n" .
                    'Reply-To: webmaster@example.com' . "\r\n" .
                    'X-Mailer: PHP/' . phpversion();

        //send the email and save the result
        $result = mail($to, $subject, $message, $headers); 

        //was it sent?
        if($result)
        {
            echo "Successfuly sent the email";
        }
        else
        {
            echo "An error has occured";
        }
    }
?>
<hr>
<form method="POST">
    To: <input type="text" name="to"> <br>
    Subject: <input type="text" name="subject"> <br>
    Text: <textarea name="message"></textarea><br>
    <input type="submit" value="Send" name="send">
</form>

您不需要指定表单指向的位置,因为它是同一个文件。否则会是

<form action="somefile.php" method="POST">

虽然你必须指定方法 POST,否则默认情况下所有数据都将通过 GET 发送

PHP 有一个邮件函数,用于发送电子邮件http://php.net/manual/en/function.mail.php

如果邮件被成功接受传递,则返回 TRUE,否则返回 FALSE。

我们检查电子邮件是否已发送并打印相应的消息。然后,不管结果如何,我们都会打印出消息表单。

于 2013-07-31T14:00:15.687 回答
2

http://php.net/manual/en/function.mail.php

邮件.html

<form action="mail.php" method="post">
    To <input type="text" name="to"/><br/>
    Subject <input type="text" name="subject"/><br/>
    Message <textarea name="message"></textarea><br/>
    <input type="submit" value="Send"/>
</form>

邮件.php

<?php
    mail($_POST["to"] , $_POST["subject"], $_POST["message"]);
    header("Location: mail.html"); //redirect the user
?>
于 2013-07-31T14:02:25.960 回答
2

您可以通过将数据发布到 php 文件中轻松地发送邮件。只需要在该 php 文件中以 user action='phpfilename.php' 的形式编写一些代码。而已。

于 2013-07-31T13:58:21.143 回答
2

如果您只是想通过电子邮件发送表单信息,这相当简单。

<form action="sendmail.php">

只需要确保您正确编码您的 php 文件。

于 2013-07-31T13:58:58.817 回答
1

HTML 只是客户端,只是标记,所以它不能发送电子邮件。正如您所建议的,您应该有一个发布到 PHP 页面的表单,并且该 PHP 页面会发送电子邮件。

http://www.w3schools.com/php/php_forms.asp http://www.w3schools.com/php/php_mail.asp

于 2013-07-31T13:57:53.883 回答