如何解决这个php电子邮件脚本有什么问题?
| 该电子邮件脚本可以正确执行,但我从未收到过电子邮件。它出什么问题了?对我来说很好。<?php
if(isset($_POST[\'email\'])) {
// EDIT THE 2 LINES BELOW AS REQUIRED
$email_to = \"dan@thenuttalls.co.uk\";
$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以发送电子邮件。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。