好的,所以我正在尝试组织一个简单但安全的PHP验证并形成电子邮件。到目前为止,验证似乎有效,但我现在如何实现以下字段发送到test@gmail.com?谢谢。 :)
<?php
// define variables and set to empty values
$nameErr = $emailErr = $messageErr = "";
$name = $email = $message = "";
if ($_SERVER["REQUEST_METHOD"] == "POST")
{
if (empty($_POST["name"]))
{$nameErr = "Name required*";}
else
{
$name = test_input($_POST["name"]);
// check if name only contains letters and whitespace
if (!preg_match("/^[a-zA-Z ]*$/",$name))
{
$nameErr = "Only letters and white space allowed";
}
}
if (empty($_POST["email"]))
{$emailErr = "Email required*";}
else
{
$email = test_input($_POST["email"]);
// check if e-mail address syntax is valid
if (!preg_match("/([\w\-]+\@[\w\-]+\.[\w\-]+)/",$email))
{
$emailErr = "Invalid email format";
}
}
if (empty($_POST["message"]))
{$messageErr = "Message required*";}
else
{$message = test_input($_POST["message"]);}
if (!preg_match("/^[a-zA-Z ]*$/",$name))
{
$nameErr = "Only letters and white space allowed";
}
}
?>
这也是HTML代码:
<form method="post" action="<?php echo
htmlspecialchars($_SERVER["PHP_SELF"]);?>">
<div class="form-headers">Full Name* </div>
<input name="name" type="text" /> <span class="error"><?php echo $nameErr;?>
</span>
<div class="form-headers">Email Address* </div>
<input name="email" type="text" /> <span class="error"><?php echo
$emailErr;?></span>
<div class="form-headers">Cellphone No. </div>
<input name="cellphone" type="text" />
<div class="form-headers">Message* </div>
<textarea name="message"></textarea> <span class="error2"><?php echo
$messageErr;?></span>
<div class="form-headers"></div>
Support Query <input name="cf_query" class="checkbox" type="checkbox"
value="Support" />
Information Query <input name="cf_query" class="checkbox" type="checkbox"
value="Information" />
<!-- HIDDEN FIELD - HONEYPOT ANTI_SPAM -->
<input id="website" class="using" name="cf_website" type="text"
/>
<!-- END -->
<div class="form-headers"> </div>
<input name="" class="button" type="submit" value="Send" />
</form>
答案 0 :(得分:1)
您应该使用PHP邮件功能(以下是链接)。您可以创建所有这些字段的字符串,并将其添加到电子邮件正文中。
http://in2.php.net/manual/en/function.mail.php
还有一个选项pear Mail包。
http://pear.php.net/package/Mail/redirected
两者都适合你。
答案 1 :(得分:0)
基本PHP邮件功能: -
<?php
$to = 'nobody@example.com';
$subject = 'the subject';
$message = 'hello';
$headers = 'From: webmaster@example.com' . "\r\n" .
'Reply-To: webmaster@example.com' . "\r\n" .
'X-Mailer: PHP/' . phpversion();
mail($to, $subject, $message, $headers);
?>
参考: - http://in1.php.net/manual/en/function.mail.php
您也可以使用Swift Mailer: - http://swiftmailer.org/
require_once 'lib/swift_required.php';
// Create the message
$message = Swift_Message::newInstance()
// Give the message a subject
->setSubject('Your subject')
// Set the From address with an associative array
->setFrom(array('john@doe.com' => 'John Doe'))
// Set the To addresses with an associative array
->setTo(array('receiver@domain.org', 'other@domain.org' => 'A name'))
// Give it a body
->setBody('Here is the message itself')
// And optionally an alternative body
->addPart('<q>Here is the message itself</q>', 'text/html')
// Optionally add any attachments
->attach(Swift_Attachment::fromPath('my-document.pdf'));