【发布时间】:2020-12-05 00:53:14
【问题描述】:
所以我正在为我的网站建立一个联系人,但由于某些原因,我收到了这个错误 [![错误图片][1]][1](https://prnt.sc/vw49gd - 链接到图片,因为上传的图片似乎没有得到它)
我的 HTML 表单相当简单:
<form class="nk-form-submit" action="form/contact.php" method="post">
<div class="row">
<div class="col-sm-6">
<div class="field-item animated" data-animate="fadeInUp" data-delay="0.8">
<label class="field-label textSubTittleColors ttu">Your Name</label>
<div class="field-wrap">
<input name="contact-name" placeholder="First & Last Name" type="text" class="input-bordered contactUsTextfields required">
</div>
</div>
</div>
<div class="col-sm-6">
<div class="field-item animated" data-animate="fadeInUp" data-delay="0.9">
<label class="field-label textSubTittleColors ttu">Your Email</label>
<div class="field-wrap">
<input name="contact-email" placeholder="example@gmail.com" type="email" class="input-bordered contactUsTextfields required email">
</div>
</div>
</div>
</div>
<div class="field-item animated" data-animate="fadeInUp" data-delay="1.0">
<label class="field-label textSubTittleColors ttu">Your Message</label>
<div class="field-wrap ">
<textarea name="contact-message" placeholder="Leave your question or comment here" class="input-bordered contactUsTextfields input-textarea required"></textarea>
</div>
</div>
<input type="text" class="d-none" name="form-anti-honeypot" value="">
<div class="row">
<div class="col-sm-5 text-right animated" data-animate="fadeInUp" data-delay="1.1">
<button type="submit" name="submit" class="btn sendButton" >SEND</button>
</div>
<div class="col-sm-7 order-sm-first">
<div class="form-results"></div>
</div>
</div>
</form>
但问题依赖于contact.php代码:
<?php
header('Content-type: application/json');
require_once('php-mailer/PHPMailerAutoload.php'); // Include PHPMailer
$mail = new PHPMailer();
$emailTO = $emailBCC = $emailCC = array(); $formEmail = '';
### Enter Your Sitename
$sitename = 'Organization';
### Enter your email addresses: @required
$emailTO[] = array( 'email' => 'myname@microsoftMail.org', 'name' => 'name' );
### Enable bellow parameters & update your BCC email if require.
//$emailBCC[] = array( 'email' => 'email@yoursite.com', 'name' => 'Your Name' );
### Enable bellow parameters & update your CC email if require.
//$emailCC[] = array( 'email' => 'email@yoursite.com', 'name' => 'Your Name' );
### Enter Email Subject
$subject = "Contact Us " . ' - ' . $sitename;
### If your did not recive email after submit form please enable below line and must change to your correct domain name. eg. noreply@example.com
//$formEmail = 'noreply@yoursite.com';
### Success Messages
$msg_success = "We have <strong>successfully</strong> received your message. We'll get back to you soon.";
if( $_SERVER['REQUEST_METHOD'] == 'POST') {
if (isset($_POST["contact-email"]) && $_POST["contact-email"] != '' && isset($_POST["contact-name"]) && $_POST["contact-name"] != '') {
### Form Fields
$cf_email = $_POST["contact-email"];
$cf_name = $_POST["contact-name"];
$cf_message = isset($_POST["contact-message"]) ? $_POST["contact-message"] : '';
$honeypot = isset($_POST["form-anti-honeypot"]) ? $_POST["form-anti-honeypot"] : 'bot';
$bodymsg = '';
if ($honeypot == '' && !(empty($emailTO))) {
### If you want use SMTP
// $mail->isSMTP();
// $mail->SMTPDebug = 0;
// $mail->Host = 'smtp_host';
// $mail->Port = 587;
// $mail->SMTPAuth = true;
// $mail->Username = 'smtp_username';
// $mail->Password = 'smtp_password';
### Regular email configure
$mail->IsHTML(true);
$mail->CharSet = 'UTF-8';
$mail->From = ($formEmail !='') ? $formEmail : $cf_email;
$mail->FromName = $cf_name . ' - ' . $sitename;
$mail->AddReplyTo($cf_email, $cf_name);
$mail->Subject = $subject;
foreach( $emailTO as $to ) {
$mail->AddAddress( $to['email'] , $to['name'] );
}
### if CC found
if (!empty($emailCC)) {
foreach( $emailCC as $cc ) {
$mail->AddCC( $cc['email'] , $cc['name'] );
}
}
### if BCC found
if (!empty($emailBCC)) {
foreach( $emailBCC as $bcc ) {
$mail->AddBCC( $bcc['email'] , $bcc['name'] );
}
}
### Include Form Fields into Body Message
$bodymsg .= isset($cf_name) ? "Contact Name: $cf_name<br><br>" : '';
$bodymsg .= isset($cf_email) ? "Contact Email: $cf_email<br><br>" : '';
$bodymsg .= isset($cf_message) ? "Message: $cf_message<br><br>" : '';
$bodymsg .= $_SERVER['HTTP_REFERER'] ? '<br>---<br><br>This email was sent from: ' . $_SERVER['HTTP_REFERER'] : '';
// Mailing
$mail->MsgHTML( $bodymsg );
$is_emailed = $mail->Send();
if( $is_emailed === true ) {
$response = array ('result' => "success", 'message' => $msg_success);
} else {
$response = array ('result' => "error", 'message' => $mail->ErrorInfo);
}
echo json_encode($response);
} else {
echo json_encode(array ('result' => "error", 'message' => "Bot <strong>Detected</strong>.! Clean yourself Botster.!"));
}
} else {
echo json_encode(array ('result' => "error", 'message' => "Please <strong>Fill up</strong> all required fields and try again."));
}
}
我已在 hostgator 域上上传此内容,但每次单击发送按钮时,我都会收到上述错误。
我还尝试了几个不同的代码,来自 stackoverflow 中的其他帖子或我看过的 youtube 视频,但结果都是一样的。 [1]:https://i.stack.imgur.com/MQQxS.png
【问题讨论】:
-
查看这些设置,它们适用于 bluehost。 stackoverflow.com/questions/39731844/…
-
我在您的代码中看不到任何图像。控制台中是否有任何错误消息?
-
@DCR 上传了一个链接
-
@DCR wthat bluehost,我可以附上我的 Outlook 电子邮件/密码吗?