Allen,

Ondanks verschillende zoekpogingen op dit forum en op google kom ik er niet helemaal uit. Ik wil de gebruiker na een bestelling een bevestigingsmail versturen. Ik heb de email die ik wil versturen nu helemaal opgemaakt (inclusief variabelen) in een apart bestand: bevestigingsmail.php.

De bestelling werkt als volgt:
* De gebruiker gaat naar het winkelmandje (winkelwagen.php)
* Als hij is ingelogd kan hij door met afrekenen
* De gebruiker krijgt een overzicht van zijn bestelling en het afleveradres en verklaart akkoord te gaan (afrekenen.php)
* Nadat hij de bestelling heeft verstuurt wordt de verwerkingspagina geopend om de bestelling aan de database toe te voegen(bestellingverwerken.php)

Via deze pagina wil ik ook graag een bevestigingsmail laten versturen. De inhoud van de email staat dus in bestand bevestigingsmail.php. Maar hoe kan ik die inhoud nu als email versturen? Ik kom er helaas niet helemaal zelf uit.

Alvast bedankt maar weer.

Groet,
Martijn
Hoi Martijn,
Kan je niet gewoon in bestellingverwerken.php het betand bevestigingsmail.php includen. Vervolgens de mail() functie gebruiken om de mail te versturen?
De mail functie kan je bijvoorbeeld zo gebruiken:

<?php
mail($ontvangerEmail, $onderwerpMail, $bericht);
?>

Meer info: http://nl.php.net/manual/en/function.mail.php.

Misschien slaat dit wel nergens op, ik heb ook nog niet zoveel ervaring, maar de bedoeling is goed.

Ik hoop dat het lukt.

Groetjes Josephine
swiftmailer <3
Josephine,

Dit is inderdaad een optie. Echter is het best een lange tekst met allerlei variabelen. Ik had gehoopt dat er daarom een gemakkelijkere manier was.
Ja via swiftmailer, met mail heb je ook nog eens dat je zelf de goede headers moet instellen enzo, swiftmailer is veel handiger.
Ik ben inderdaad een beetje aan het experimenteren met swiftmailer. Maar ik kom er nog niet helemaal uit.

Ik heb de bestelling die de klant doet namelijk in een array staan. Dit is bijvoorbeeld een stukje uit de pagina waar de gebruiker moet bevestigen:

<?php
for ($i=0; $i < $aantalartikelen; $i++) {
echo "<tr>";
echo "<td>".$artikelnaam[$i]."</td>";
echo "<td>".$artikelnummer[$i]."</td>";
echo "<td>".$artikelaantal[$i]."</td>";
echo "<td>".$artikelprijs[$i]."</td>";
echo "<td>".$artikelsubtotaal[$i]."</td>";
echo "</tr>";
}
?>

Is het ook mogelijk om voor elke regel dan een regel toe te voegen aan de mail die ik naar de gebruiker wil gaan versturen?
Je kunt variabelen langer maken op deze manier:

<?php

$text = "Hallo ";
$text .= "wereld!";

echo $text; // Geeft "Hallo wereld!"

?>

Als je dat in je loop zet, kun je je e-mail steeds een stukje langer maken.
Dus als ik dat met bovenstaande doe, dan wordt het zo?

<?php
$tabel = "<table>\n";
for ($i=0; $i < $aantalartikelen; $i++) {
$tabel .= "<tr>\n";
$tabel .= "<td>".$artikelnaam[$i]."</td>\n";
$tabel .= "<td>".$artikelaantal[$i]."</td>\n";
$tabel .= "<td>".$artikelprijs[$i]."</td>\n";
$tabel .= "<td>".$artikelsubtotaal[$i]."</td>\n";
$tabel .= "</tr>\n";
}
$table .= "</table>\n";
?>
juist, en dan je swiftmailer functie er onder zetten met als body $table
Ik heb alles aangepast maar als ik de email dan heb verstuurd krijg ik op mijn hotmail het volgende binnen:

<?code
<html>
<head>
<title>Uw bestelling bij Kakadoris</title>
<style>body {
font-family: Arial;
font-size: 12px;
}
h1 {
font-size: 18px;
...
...
...
...
</p>
</div>
</body>
</html>

De htmlcode wordt dus niet omgezet, maar hij verstuurt de html-code zelf. Kan iemand mij hierbij helpen?
Headers meegeven?

Reageren