这是我的网站:www.accurateaccountsinc.tk 问题是网站只是加载而不做任何事情。 一切都在localhost / wamp中正常工作,但在运行任务时它在实际站点上不起作用。
这是表格的代码
<form method="POST" action="index.php">
<input type="text" required name="name" id="name" placeholder="Enter Your Name" />
<input type="text" required name="email" id="email" placeholder="Enter Your Email" />
<input type="text" required name="phone" id="phone" placeholder="Phone Number" />
<textarea name="message" required id="message" placeholder="Enter Your Message"></textarea>
<input type="submit" name="mailed" value="Submit" />
</form>
这是php:
<?php
include 'dbconn.php';
if(isset($_POST['mailed'])){
$name = mysqli_real_escape_string($con,$_POST['name']);
$emailadd = mysqli_real_escape_string($con,$_POST['email']);
$contact = mysqli_real_escape_string($con,$_POST['phone']);
$entrymessage = mysqli_real_escape_string($con,$_POST['message']);
include "class.phpmailer.php";
include "class.smtp.php";
$mail = new PHPMailer();
$mail->IsSMTP();
$mail->SMPTDebug = 1;
$mail->SMTPAuth = true;
$mail->SMTPSecure = 'tls';
$mail->Host = "smtp.gmail.com";
$mail->Port = 587;
$mail->IsHTML(true);
$mail->Username = "email here";
$mail->Password = "password here";
$mail->SetFrom("email here", 'Website Entry');
$subject = "Client Entry";
$message = "<br>Client Name: " . $name;
$message .= "<br>Email Address: " . $emailadd;
$message .= "<br>Contact Number: " . $contact;
$message .= "<br>Message: " . $entrymessage;
$mail->Subject = $subject;
$mail->Body = $message;
$mail->AddAddress("email here", $name);
if($mail->Send()){
unset($_POST['mailed']);
echo "<script>window.open('index.php','_self')</script>";
}
}
?>
如果您想了解更多信息,请询问.. 另请注意,我只使用了class.phpmailer.php和class.smtp.php来最小化与问题相关的工作。
答案 0 :(得分:1)
错字:$mail->SMPTDebug
应该是$mail->SMTPDebug
,您应该将其设置为2
以获得有用的反馈。
您也没有显示可能导致的任何错误,因此如果发送失败则为echo $mail->ErrorInfo;
。
您无法在端口25上通过 gmail发送,只能到 gmail。坚持端口587上的tls
,就像所有示例和docs所说的那样。我不知道你的代码在哪里,但看起来你使用了一个旧的例子 - 你应该以the examples provided with PHPMailer为基础,尤其是gmail的。{/ p>