PHPMailer(表单联系提交)

时间:2017-02-07 21:55:59

标签: php html forms

当我按下提交按钮时,它重新加载到主页但不发送电子邮件。因为我不熟悉PHP,想知道我做错了什么? 我直接从phpmailer的示例文件夹中提取代码。我还在最后添加了重定向,以测试表单发​​送操作。

 <body>
    <header>
    <div class="flex">

        <h1>Waterproofing Services Inc.</h1>
    <nav>
        <ul>
            <li>
                <a href="index.html">Home</a>
            </li>    
            <li>
                <a href="products.html">Products Used</a>
            </li>    
            <li>
                <a href="services.html">Services</a>
            </li>   
            <li>
                <a class="current" href="freeinspection.html">Free Inspection</a>
            </li>
        </ul>    
    </nav>
    </div>
    </header>

   <section id="minishowcase">
       <div class="container">
        <h1>Free Inspection</h1>
       </div>
    </section>

    <section id="main">
        <div class="flex">
        <h2>Let us know what Waterproofing Services Inc. can do for you.</h2>

        </div>
    </section>
    <section id="form">
    <div class="container">
    <div class="flex">
        <form method="post" action="handler.php">
        Name: <input type="text" name="name" value="Name" required><br>Contact Number:<input type="number" name="number" required><br>
        Services Needed:<textarea name="message" id="message" required>Explain the services needed...</textarea>
        <input type="submit" value="SEND">
        <p>*All Fields Required*</p>
        </form>    
    </div>    
    </div>
    </section>






<section id="contactus">
<div class="container">
<div class="flex">
<p>1852 Smoke Ridge RD <br> Malvern, AR <br></p>
<h2 class="footban">Call Now For A Free Estimate<br>(501) 609-6487</h2>

</div>
</div>
</section>
<?php
/**
* This example shows how to handle a simple contact form.
*/

$msg = '';
//Don't run this unless we're handling a form submission
if (array_key_exists('name', $_POST)) {
date_default_timezone_set('Etc/UTC');

require '/home/wsiwaterproofing/public_html/PHPMailerAutoload.php';

//Create a new PHPMailer instance
$mail = new PHPMailer;
//Tell PHPMailer to use SMTP - requires a local mail server
//Faster and safer than using mail()
$mail->isSMTP();
$mail->Host = 'rverser@wsiwaterproofingservices.com';
$mail->SMTPAuth = true; 
$mail->SMTPSecure = 'tls';
$mail->Mailer = "smtp";
$mail->Port = 465;
$mail->Username = "rverser@wsiwaterproofingservices.com";
$mail->Password = "YOYOYOYOYO";

//Use a fixed address in your own domain as the from address
//**DO NOT** use the submitter's address here as it will be forgery
//and will cause your messages to fail SPF checks
$mail->setFrom('rverser@wsiwaterproofingservices.com', 'Ryan V');
//Send the message to yourself, or whoever should receive contact for     submissions
$mail->addAddress('nnelly36@yahoo.com', 'Ryan V');
//Put the submitter's address in a reply-to header
//This will fail if the address provided is invalid,
//in which case we should ignore the whole request
if ($mail->addReplyTo($_POST['name'], $_POST['number'])) {
    $mail->Subject = 'New Request from WSI';
    //Keep it simple - don't use HTML
    $mail->isHTML(false);
    //Build a simple message body
    $mail->Body = <<<EOT
Name: {$_POST['name']}
Number: {$_POST['number']}
Message: {$_POST['message']}
EOT;
    //Send the message, check for errors
    if (!$mail->send()) {
        //The reason for failing to send will be in $mail->ErrorInfo
        //but you shouldn't display errors to users - process the     error, log it on your server.
        $msg = 'Sorry, something went wrong. Please try again     later.';
    } else {
        $msg = 'Message sent! Thanks for contacting us.';
    }
} else {
    $msg = 'Invalid email address, message ignored.';
}
}
header("Location: http://www.wsiwaterproofingservices.com/");

?>

2 个答案:

答案 0 :(得分:0)

将您的html文件与表单结合起来会很棒。 但是,表单标记应该是这样的:

<form name="form1" id="form1" action="php_file_with_PHPMailer.php" method="post">

请仔细检查您的表单标签是否具有正确的操作和正确的方法。

干杯。

答案 1 :(得分:0)

在您的电子邮件地址代码中使用此行来捕获错误(

$mail->SMTPDebug  = 2;                     // enables SMTP debug information (for testing)

并按照此Link查看Officials Examples Link

中的一些示例