很抱歉这个愚蠢的问题(我刚刚开始),但我不太明白为什么我的PHP脚本的电话字段不会出现在我收到的电子邮件中。我已将HTML中的字段添加到正常工作中,如果电话字段为空,则会显示错误消息,但如果我运行它,则我收到的电子邮件将不包含该字段。
这是PHP邮件脚本:
<?php
require('email_config.php');
// sender information
$name = trim($_POST['name']);
$phone = trim($_POST['phone']);
$email = trim($_POST['email']);
$message = trim($_POST['message']);
$error = "";
// check sender information
$pattern = "^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$^";
if(!preg_match_all($pattern, $email, $out)) {
$error = $invalid_email; // for invalid email
}
if(!$email) {
$error = $invalid_email; // for empty email field
}
if (!$phone) {
$error = $invalid_phone; // for empty phone field
}
if(!$message) {
$error = $invalid_message; // for empty message field
}
if (!$name) {
$error = $invalid_name; // for empty name field
}
// email header
$headers = "From: ".$name." <".$email.">\r\nReply-To: ".$email."";
if (!$error){
// sending email
$sent = mail($to_email,$subject,$message,$headers);
if ($sent) {
// if message sent successfully
echo "SEND";
} else {
// error message
echo $sending_error;
}
} else {
echo $error; // error message
}
?>
提前致谢!
答案 0 :(得分:1)
您似乎跳过将手机添加到邮件中,即您的邮件 应该是这样的
$message = trim($_POST['message']).' \n Phone: '.trim($_POST['phone']);
好像你正在发送计划文本邮件,所以我使用了新行特殊字符/ n。
要了解有关特殊字符串字符的更多信息 http://www.php.net/manual/en/language.types.string.php#language.types.string.syntax.single