问题描述
|
该电子邮件脚本可以正确执行,但我从未收到过电子邮件。它出什么问题了?对我来说很好。
<?PHP
if(isset($_POST[\'email\'])) {
// EDIT THE 2 LInes BELOW AS required
$email_to = \"[email protected]\";
$email_subject = \"KISS Contact Form Response\";
function died($error) {
// your error code can go here
echo \"We are very sorry,but there were error(s) found with the form you submitted. \";
echo \"These errors appear below.<br /><br />\";
echo $error.\"<br /><br />\";
echo \"Please go back and fix these errors.<br /><br />\";
die();
}
// validation expected data exists
if(!isset($_POST[\'first_name\']) ||
!isset($_POST[\'last_name\']) ||
!isset($_POST[\'email\']) ||
!isset($_POST[\'reason\']) ||
!isset($_POST[\'comments\'])) {
died(\'We are sorry,but there appears to be a problem with the form you submitted.\');
}
$first_name = $_POST[\'first_name\']; // required
$last_name = $_POST[\'last_name\']; // required
$email_from = $_POST[\'email\']; // required
$updated = $_POST[\'updated\']; // not required
$reason = $_POST[\'reason\'];
$comments = $_POST[\'comments\']; // required
$error_message = \"\";
$email_exp = \"/^[a-z0-9]+([_\\\\.-][a-z0-9]+)*@([a-z0-9]+([\\.-][a-z0-9]+)*)+\\\\.[a-z]{2,}$/i\";
if(!preg_match($email_exp,$email_from)) {
$error_message .= \'The Email Address you entered does not appear to be valid.<br />\';
}
$string_exp = \"/^[a-z .\'-]+$/\";
if(!preg_match($string_exp,$first_name)) {
$error_message .= \'The First Name you entered does not appear to be valid.<br />\';
}
if(!preg_match($string_exp,$last_name)) {
$error_message .= \'The Last Name you entered does not appear to be valid.<br />\';
}
if(strlen($comments) < 2) {
$error_message .= \'The Comments you entered do not appear to be valid.<br />\';
}
if(strlen($error_message) > 0) {
died($error_message);
}
$email_message = \"Form details below.\\n\\n\";
function clean_string($string) {
$bad = array(\"content-type\",\"bcc:\",\"to:\",\"cc:\",\"href\");
return str_replace($bad,\"\",$string);
}
$email_message .= \"First Name: \".clean_string($first_name).\"\\n\";
$email_message .= \"Last Name: \".clean_string($last_name).\"\\n\";
$email_message .= \"Email: \".clean_string($email_from).\"\\n\";
$email_message .= \"Reason for contact: \".clean_string($reason).\"\\n\";
$email_message .= \"Stay Updated: \".clean_string($updated).\"\\n\";
$email_message .= \"Comments: \".clean_string($comments).\"\\n\";
// create email headers
$headers = \'From: \'.$email_from.\"\\r\\n\".
\'Reply-To: \'.$email_from.\"\\r\\n\" .
\'X-Mailer: PHP/\' . PHPversion();
@mail($email_to,$email_subject,$email_message,$headers);
header(\'location: index2.PHP?op=Thank You\');
}
?>
解决方法
您确定您的smtp配置正确吗?
, 您的电子邮件发送代码正确。检查PHP.ini中的SMTP服务器设置
[mail function]
; For Win32 only.
SMTP = localhost (write your SMPT server ip address)
smtp_port = 25
或在本地计算机上配置SMTP以发送电子邮件。