Проблема PHP Mailer - PullRequest
       5

Проблема PHP Mailer

0 голосов
/ 15 апреля 2011

Я сделал контактную форму, используя PHP Mailer, код основан на тестовой почте PHPMailer, которая работала нормально.

Но теперь он просто не отправляет мою электронную почту, он постоянно показывает, что я не прав. Вместо Верзондена (Отправлено)

Вот мой код

<?php
require("CMS/scripts/phpmailer/phpmailer.inc.php");

if (isset($_POST) && !empty($_POST) && $_POST['post_form'] == "contact") {
    $mail = new phpmailer;

    print_pre($_POST);

    $mail->IsSMTP(); // set mailer to use SMTP
//  $mail->From = $_POST['email'];
    $mail->FromName = $_POST['voornaam']."&nbsp;".$_POST['achternaam'];
    $mail->Host = "mail.chello.nl";  // this is my smtp server from my provider
    $mail->AddAddress("mail@to.com");
//  $mail->AddReplyTo("reply@mail.com", "Reply");

    $mail->IsHTML(true);    // set email format to HTML
    $mail->Subject = $_POST['onderwerp'];
    $mail->Body = "
    <div id='mail'>
        <table>
            <tr>
                <td colspan='2'><h2>".$_POST['onderwerp']."</h2></td>
            </tr>
            <tr>
                <td>Naam</td>
                <td>".$_POST['voornaam']."&nbsp;".$_POST['achternaam']."</td>
            </tr>
            <tr>
                <td>Adres</td>
                <td>".$_POST['adres']."</td>
            </tr>
            <tr>
                <td>Postcode + Woonplaats</td>
                <td>".$_POST['postcode']."&nbsp;".$_POST['woonplaats']."</td>
            </tr>
            <tr>
                <td>Telefoon</td>
                <td>".$_POST['telefoon']."</td>
            </tr>
            <tr>
                <td>E-mail</td>
                <td>".$_POST['email']."</td>
            </tr>
            <tr>
                <td>Onderwerp</td>
                <td>".$_POST['onderwerp']."</td>
            </tr>
            <tr>
                <td colspan='2'>Bericht</td>
            </tr>
            <tr>
                <td colspan='2'>".$_POST['bericht']."</td>
            </tr>    
    </div>
    ";
    if ($mail->Send()) {
        echo "Verzonden";
    } else {        
        echo "wrong";
    }
}
?>
<div id="contact_form">
    <form action="#" method="post">
    <input type="hidden" value="contact" name="post_form">
    <table>
        <tr>
            <td>Naam</td>
            <td><input type="text" name="voornaam" class="contact_inputfield"></td>
            <td><input type="text" name="achternaam" class="contact_inputfield"></td>
        </tr>
        <tr>
            <td>Adres</td>
            <td colspan="2"><input type="text" name="adres" class="contact_inputfield_double"></td>
        </tr>
        <tr>
            <td>Postcode + Woonplaats</td>
            <td><input type="text" name="postcode" class="contact_inputfield"></td>
            <td><input type="text" name="woonplaats" class="contact_inputfield"></td>
        </tr>
        <tr>
            <td>Telefoon</td>
            <td colspan="2"><input type="text" name="telefoon" class="contact_inputfield_double"></td>
        </tr>
        <tr>
            <td>E-mail</td>
            <td colspan="2"><input type="text" name="email" class="contact_inputfield_double"></td>
        </tr>
        <tr>
            <td>Onderwerp</td>
            <td colspan="2"><input type="text" name="onderwerp" class="contact_inputfield_double"></td>
        </tr>
        <tr>
            <td valign="top">Bericht</td>
            <td colspan="2"><textarea name="bericht" class="contact_textarea"></textarea> </td>
        </tr>
        <tr>        
            <td colspan="3"><input type="submit" value="Verzenden" class="contact_send"></td>
        </tr>
    </table>
    </form>
</div>

1 Ответ

2 голосов
/ 15 апреля 2011

Хорошо, что вы проверяете, работает ли $mail->send() или нет, но выдает сообщения об ошибках при сбое, что нехорошо:

if ($mail->Send()) {
    echo "Verzonden";
} else {        
    echo "failed: " . $mail->ErrorInfo;
}

Однако вы не понимаетене говорите, как это не отправка почты.PHP Mailer передает сообщения только на тот почтовый сервер, на котором он настроен.Почта может по-прежнему отказывать в дальнейшем по другим причинам, поэтому, если $mail->send() завершится успешно, вам придется проверить журналы почтового сервера.

Возможно, ваш сервер занесен в черный список или иным образом помечен как спамисточник.

...