这个联系表格是否完全有效?

时间:2017-02-06 01:21:48

标签: php html phpmailer contact-form

填写表格时说成功发送。所以我需要启用或包含phpmailer?表单通过submit.php发送,但联系表单是一个html页面。我是否也需要将联系页面设为php。 submit.php的chmod权限是755.在脚本中我确实有正确的电子邮件地址。我安装了phpmailer,是否需要激活它?

<?php
// specify your email here

$to = 'example@example.com';

// Assigning data from $_POST array to variables
if (isset($_POST['name'])) { $name = $_POST['name']; }
if (isset($_POST['email'])) { $from = $_POST['email']; }
if (isset($_POST['company'])) { $company = $_POST['company']; }
if (isset($_POST['message'])) { $message = $_POST['message']; }

// Construct subject of the email
$subject = 'Contact Inquery ' . $name;

// Construct email body
$body_message .= 'NAME: ' . $name . "\r\n\n";
$body_message .= 'EMAIL: ' . $from . "\r\n\n";
$body_message .= 'SUBJECT: ' . $company . "\r\n\n";
$body_message .= 'MESSAGE: ' . $message . "\r\n\n";

// Construct headers of the message
$headers = 'From: ' . $from . "\r\n";
$headers .= 'Reply-To: ' . $from . "\r\n";

$mail_sent = mail($to, $subject, $body_message, $headers);

if ($mail_sent == true) { ?>
    <script language="javascript" type="text/javascript">
        window.alert("Sent Successfuly.");
    </script>
<?php } else { ?>
    <script language="javascript" type="text/javascript">
        window.alert("Error! Please Try Again Later.");
    </script>
<?php
} // End else  
?>

1 个答案:

答案 0 :(得分:1)

  1. 目前,您的表单不需要由PHP呈现。因此,它可以保存在HTML文件中。
  2. 当你说:

      

    表单通过submit.php

    发送

    我想你想说:

      

    表单正在发送到 submit.php

    如果是这种情况,那么我认为您发布的源代码是 该文件的内容。

  3. 关于电子邮件发送,您使用内置的PHP mail() 功能。但是这个函数需要use the sendmail binary 安装在您的服务器上。此外,您必须php.ini文件中setup the appropriate settings才能正确使用主机 发送电子邮件。
  4. PHPMailer是一个很好的替代品,因为它不需要任何外部 依赖。这个simple example将向您展示如何使用 它。
  5. N.B:我看到你的PHP代码很简单,我推断你是一个初学者,你把这个源代码带到了某个地方并且你并不真正理解它。那就对了。你必须从某个地方开始。

    <强> BUT:

    小心这段代码!它接受用户输入并发送它 没有任何健全性检查。我建议您不在生产环境中部署此代码(如果它是用于测试和学习,那是正确的。)

    看看this answer about PHP user input sanitation。它没有谈论电子邮件发送的卫生设施。但它可能是一个很好的起点,了解它是如何工作的基本。然后你必须自己搜索。