Webprofis is een Forum waarin je vragen kunt stellen die webgerelateerd zijn. Heb je vragen over of problemen met je Webpagina, HTML, CSS, Javascript, PHP of andere client of serverside scriptingtalen? Stel ze dan gerust op dit forum. Op dit forum zijn een aantal vrijwilligers actief die u graag met uw vragen willen helpen en u waar mogelijk een passend antwoord aanbieden. Hebt u zelf veel ervaring en kennis met betrekking tot het bovenstaande? U bent van harte welkom om uw kennis met anderen te delen!

We hopen dat eenieder op dit Forum een leerzame ervaring mag opdoen.

Team Webprofis

php contactformulier met phpmailer

bewerkt do 7 mei 2015 in PHP, MySQL Posts: 5
Ben na wat omzwerving bij webprofis terecht gekomen.
Ik wil als niet kenner van PHP gebruik maken het php contactformulier met multiupload. Nu ontvang ik wel het contactformulier maar nog niet de gewenste bijlagen. Nu heb ik wat ge??xperimenteerd met php mailer maar maar dit roept een groot aantal meldingen op. Kan iemand mij hier in adviseren met bijvoorbeeld een stappenplan?

Reacties

  • bewerkt wo 6 mei 2015
    PMPosts: 879
    Hierondereen voorbeeld van een envoudige contactform met afhandelink mbv phpmailer.
    1. Downlad als eerste phpmailer: http://www.inmotionhosting.com/support/files/downloads/PHPMailer_5.2.0.zip
    2. Verander de naam van de map PHPMailer_5.2.0 naar phpmailer (voor het gemak)
    3. Je form ziet er bijv zo uit:

    <form method="post" enctype="multipart/form-data" action="email.php">
    Naam:<br />
    <input type="text" name="naam" /><br />
    Email:<br />
    <input type="text" name="email"/><br />

    Bericht:<br />
    <textarea name="bericht" rows="15" cols="40"></textarea><br />

    Bijlage:<br />
    <input type="file" name="bijlage1" /><br />
    <input type="file" name="bijlage2" /><br />
    <input type="file" name="bijlage3" /><br />

    <input type="submit" value="Submit" />
    </form>

    4. Maak een bestand aan email.php en zit dit erin:

    <?php
    require("phpmailer/class.phpmailer.php"); // verwijzing naar class.phpmailer.php

    $mail = new PHPMailer();

    $mail->IsSMTP(); // connectie mailserver via SMTP
    $mail->Host = "localhost"; // mailserver van localhost
    $mail->SMTPAuth = false; // geen authenticatie gebruiken voor SMTP
    $mail->WordWrap = 50; // word wrap 50 karakters

    $mail->IsHTML(true);// email in HTML

    $mail->From = $_POST['email'];
    $mail->FromName = $_POST['naam'];
    $mail->AddAddress("jouw@email.com"); // ontvangers emailadres
    $mail->Subject = "Onderwerp email"; // onderwerp van de email


    // body opmaken
    $body = '';
    $body .= 'Naam: ';
    $body .= $_POST['naam'].'<br />';
    $body .= 'Email: ';
    $body .= $_POST['email'].'<br />';
    $body .= 'Bericht: ';
    $body .= $_POST['bericht'].'<br />';

    $mail->Body = $body;
    $mail->AltBody = $body; // body in platte tekst voor emailclients die geen HTML ondersteunen

    if(!empty($_FILES['bijlage1']['name']))
    {
    $mail->AddAttachment($_FILES['bijlage1']['tmp_name'],$_FILES['bijlage1']['name']); // bijlage 1
    }
    if(!empty($_FILES['bijlage2']['name']))
    {
    $mail->AddAttachment($_FILES['bijlage2']['tmp_name'],$_FILES['bijlage2']['name']); // bijlage 2
    }
    if(!empty($_FILES['bijlage3']['name']))
    {
    $mail->AddAttachment($_FILES['bijlage3']['tmp_name'],$_FILES['bijlage3']['name']); // bijlage 3
    }

    if(!$mail->Send())
    {
    echo "Bericht kon niet worden verzonden. <p>";
    exit;
    }
    else
    {
    echo "Bericht is succesvol verzonden";
    }
    ?>

  • Bedankt voor je reactie. Ik ga hier mee aan de slag. Laat nog weten of ik het wekredn :-) kan krijgen.
  • Heb het gevoel het bijna werkend te hebben.
    De mail wordt door PHPmailer verzonden jammer genoeg niet de toegevoegde bijlage.
    Ik krijg na verzending volgende melding:
    `Could not access file: Bericht is succesvol verzonden`
    Lijkt mij duidelijk kan niet bij het bestand niet vinden. >:) .
    Heeft misschien iets met het extensie .jpg te maken? Of heeft dit een andere oorzaak?
  • Was net een bericht aan het maken terwijl je 2e mail binnenkwam. Dit werkt zoals ik het graag zou willen. Maar ik neem aan dat om dit te bereiken een aanpassing van de phpmailer, html- of php bestand (of misschien allemaal) nodig is? Of kan het zijn dat de webhost dit niet ondersteund en dien ik hen te vragen om dit mogelijk te maken?
  • PMPosts: 879
    Hier heb je alles bij elkaar in een .zip bestand. Als dit niet werkt zoals het in de demo deed, dan moet je het probleem idd bij je host zoeken. Maar het zou gewoon moeten werken, onafhankelijk welke mailserver je gebruikt.
    zip
    zip
    jodorn.zip
    201K
    jodorn.zip 200.7K
  • Heeft eventjes geduurd voor mijn reactie was wat aan het corresponderen met mijn webhost.
    Maar dit heeft nog niet tot een wijziging in het resultaat geleid. Email wordt perfect ontvangen dus PHPmailer werkt. Toegevoegde bijlagen worden geupload maar niet verzonden. Althans ik ontvang deze niet. Vervolgens kwam mijn webhost met het idee om een reply-to header aan de mail mee te geven. Ik weet niet of diet iets toevoegd.
  • dat gaat niets helpen, als dat wel helpt mag die hoster zijn schoen op-eten :p
    nuet
Login of Registreer om te reageren.