Hallo,
Dit script om een mail te zenden werkt perfect op mijn index page wanneer ik de mail manueel ingeef. Wanneer ik dit doe in mijn formulier, werkt hij niet meer. Ik heb al gecontroleerd of de mail correct was.
Weet iemand hier meer over?

<?php
if ($_SERVER['REQUEST_METHOD'] == 'POST') {

    if ($_POST['resend']) {
        if (trim($_POST['mail2']) == '') {
            $errors[] = 'U moet uw mail ingeven!';
        }

        if (trim($_POST['lastname2']) == '') {
            $errors[] = 'U moet uw naam ingeven!';
        }

        if (trim($_POST['firstname2']) == '') {
            $errors[] = 'U moet uw voornaam ingeven!';
        }

        if (count($errors) == 0) {
            $mail = $_POST['mail2'];
            $lastname = $_POST['lastname2'];
            $firstname = $_POST['firstname2'];
            $sql = "SELECT code FROM users WHERE lastname='" . mysqli_real_escape_string($connection, $_POST['lastname2']) . "' AND firstname='" . mysqli_real_escape_string($connection, $_POST['firstname2']) . "' AND mail='" . mysqli_real_escape_string($connection, $_POST['mail2']) . "' AND activated='0' LIMIT 1";
            $result = mysqli_query($connection, $sql) or die(mysqli_error());
            $randomString = mysqli_fetch_assoc($result);
            $from = "[email protected]";
            $subject = 'DreamShare Account Activation';
            $message = '<!DOCTYPE html><html><head><meta charset="UTF-8"><title>DreamShare</title></head><body style="margin:0px; font-family:Tahoma, Geneva, sans-serif;"><div style="padding:10px; background:#333; font-size:24px; color:#CCC;"><a href="http://www.dreamshare.tk"><img src="http://www.dreamshare.tk/images/connected.png" width="100px" alt="DreamShare" style="border:none; float:left;"></a>DreamShare Account Activation</div><div style="padding:24px; font-size:17px;">Hallo ' . $lastname . ' ' . $firstname . ',<br /><br />Klik op onderstaande link om je account te activeren!<br /><br /><a href="http://www.dreamshare.tk/activation.php?mail=' . $mail . '&code=' . $randomString . '&username=' . $username . '">Kilk hier om je account nu te activeren!</a><br /><br />Na het activeren kan je inloggen met onderstaande gegevens:<br />* Mail: <b>' . $mail . '</b></div></body></html>';
            $headers = "From: $from\n";
            $headers .= "MIME-Version: 1.0\n";
            $headers .= "Content-type: text/html; charset=iso-8859-1\n";
            mail($_POST['mail2'], $subject, $message, $headers);

            $good1 = true;
        } else {
            $err2 = true;
        }
    }
}
?>
Kijk eens naar phpmailer of swiftmailer.
Kans dat het daarmee goed gaat is groter dan zelf lopen stoeien met de mailfunctie van php.
:)

Hangt er maar net vanaf of de reis of de bestemming belangrijker is. Het stoeien met de mailfunctie kan best leerzaam zijn en met het artikel waar Ariën eerder aan refereerde kun je best een eind komen.
Thomas van den Heuvel op 16/05/2016 14:37:58

met het artikel waar Ariën eerder aan refereerde kun je best een eind komen.


Ik gebruik dat altijd en heb nog nooit problemen gehad.
En als het problemen geeft waarbij het in de spambox komt. Dan lijkt het mij verstandig om te kijken of er geen aanknopingspunten in de mailheaders te vinden zijn. Let dan vooral op 'X-Spam' achtige headers. Zo kunnen bijvoorbeeld korte mailtjes met bepaalde steekwoorden (zoals bijv. 'viagra') al snel worden gemarkeerd als spam.

Niettemin raad ik net als Obelix & Idefix aan om PHPmailer of Swiftmailer te gebruiken. Met deze kant-en-klare mail-library kan je met het gebruik van enkele functieaanroepen een mail versturen. Alle juiste ingrediënten voor het versturen van een mail zijn hierin al aanwezig.

Reageren