我的网站即使在wamp上完美运行也不会发送邮件

时间:2016-05-19 19:29:29

标签: php html phpmailer

这是我的网站: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来最小化与问题相关的工作。

1 个答案:

答案 0 :(得分:1)

错字:$mail->SMPTDebug应该是$mail->SMTPDebug,您应该将其设置为2以获得有用的反馈。

您也没有显示可能导致的任何错误,因此如果发送失败则为echo $mail->ErrorInfo;

您无法在端口25上通过 gmail发送,只能 gmail。坚持端口587上的tls,就像所有示例和docs所说的那样。我不知道你的代码在哪里,但看起来你使用了一个旧的例子 - 你应该以the examples provided with PHPMailer为基础,尤其是gmail的。{/ p>