【发布时间】:2016-11-23 10:48:38
【问题描述】:
我在 sendmail.php 文件中有以下代码。
<?php
if($_POST) {
// Enter the email where you want to receive the message
$emailTo = 'example@gmail.com';
// Form fields
$clientName = addslashes(trim($_POST['name']));
$clientEmail = addslashes(trim($_POST['email']));
$number = addslashes(trim($_POST['number']));
$message = addslashes(trim($_POST['message']));
// Email Ssubject
$subject = 'Query from My Domain';
// Compose message to send
$sendMessage = 'Hi' . "\n\n";
$sendMessage .= $message . "\n\n";
$sendMessage .= 'From: ' . $clientName . "\n";
$sendMessage .= 'Email: ' . $clientEmail . "\n";
$sendMessage .= 'Contact number: ' . $number . "\n";
$array = array();
$array['nameMessage'] = '';
$array['emailMessage'] = '';
$array['numberMessage'] = '';
$array['messageMessage'] = '';
if($clientName == '') {
$array['nameMessage'] = 'Please enter your full name.';
}
if (filter_var($clientEmail, FILTER_VALIDATE_EMAIL) == false) {
$array['emailMessage'] = 'Please insert a valid email address.';
}
if (!preg_match('/^(\+?)+([0-9]{10,})$/', $number)) {
$array['numberMessage'] = 'Please enter a valid contact number.';
}
if($message == '') {
$array['messageMessage'] = 'Please enter your message.';
}
if($clientName && $clientEmail && $number && $message != '') {
// Headers
$headers = "From: " . $clientName . ' <' . $clientEmail . '>' . "\r\n";
$headers .= "CC: " . 'My Boss <boss@gmail.com>' . "\r\n";
$headers .= PHP_EOL;
$headers .= "MIME-Version: 1.0".PHP_EOL;
$headers .= "Content-Type: multipart/mixed;".PHP_EOL;
$headers .= " boundary=\"boundary_sdfsfsdfs345345sfsgs\"";
// Send mail
mail($emailTo, $subject, $sendMessage, $headers);
}
echo json_encode($array);
} else {
header ('location: index.html#contact');
}
?>
在此验证来自电子邮件和电话号码的输入,并且这些验证效果很好。我的问题是在下面处理这一部分,以便表单仅在填写的电子邮件和电话号码正确时才发送电子邮件。如果我没记错的话,下面这段代码中我需要摆弄的是$clientEmail和$number,我尝试了很多没有用的东西。
if($clientName != '' && $clientEmail && $number && $message != '') {
// Headers
$headers = "From: " . $clientName . ' <' . $clientEmail . '>' . "\r\n";
$headers .= "CC: " . 'My Boss <boss@gmail.com>' . "\r\n";
$headers .= PHP_EOL;
$headers .= "MIME-Version: 1.0".PHP_EOL;
$headers .= "Content-Type: multipart/mixed;".PHP_EOL;
$headers .= " boundary=\"boundary_sdfsfsdfs345345sfsgs\"";
// Send mail
mail($emailTo, $subject, $sendMessage, $headers);
}
【问题讨论】:
标签: php jquery html email contact-form