Van php bericht naar hotmail (in html)
als ik vanuit mijn php script naar het mail toe stuur dan laat hij alleen het html script zien (begint met <table>) ik vroeg me af hoe...
Swift Mailer, daarmee is het versturen van HTML mails een fluitje van een cent ;-)
Voor het versturen van HTML mails, zou ik niet de mail() functie van PHP zelf gebruiken. Kijk eens naar een klasse als Het is een hele systeem :\ is er niet simpel weg alleen een korte scripje ? :O
Wil je het goed doen zou ik dat systeem gebruiken...
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
<?php
$to = $_POST['email'];
$subject = "Stage Monitor";
$from = "From: [email protected]\r\n";
//$headers = "Geachte heer/mevrouw, een nieuwe inschrijving";
$message = "<table>";
foreach( $_POST as $field => $value ) {
$fieldName = $fields[$field];
//print_r( $field );
if ($field != "postcode_letters" && $field != "bedrijf_postcode_letters") {
if ($field == "postcode_nummers") {
$fieldName = "postcode";
$value .= $_POST["postcode_letters"];
//echo $value;
}
if ($field == "bedrijf_postcode_nummers") {
$fieldName = "Bedrijf postcode";
$value .= $_POST["bedrijf_postcode_letters"];
//echo $value;
}
$message .= "<tr><td style=\"border-bottom: 1px dotted black;\">" . $fieldName .
"</td><td width=\"50px\" style=\"border-bottom: 1px dotted
black;\"> </td><td style=\"border-bottom: 1px dotted black;\">" . $value .
"</td></tr>";
}
}
$message .= "</table>";
if ( mail( $to, $subject, $message, $from ) ) {
print_r( "Formulier succesvol verzonden." );
} else {
print_r( "<h1 class=\"error_header\">Het formulier kon helaas niet worden
verzonden. Neem contact op met $to</h1>" );
}
}
?>
$to = $_POST['email'];
$subject = "Stage Monitor";
$from = "From: [email protected]\r\n";
//$headers = "Geachte heer/mevrouw, een nieuwe inschrijving";
$message = "<table>";
foreach( $_POST as $field => $value ) {
$fieldName = $fields[$field];
//print_r( $field );
if ($field != "postcode_letters" && $field != "bedrijf_postcode_letters") {
if ($field == "postcode_nummers") {
$fieldName = "postcode";
$value .= $_POST["postcode_letters"];
//echo $value;
}
if ($field == "bedrijf_postcode_nummers") {
$fieldName = "Bedrijf postcode";
$value .= $_POST["bedrijf_postcode_letters"];
//echo $value;
}
$message .= "<tr><td style=\"border-bottom: 1px dotted black;\">" . $fieldName .
"</td><td width=\"50px\" style=\"border-bottom: 1px dotted
black;\"> </td><td style=\"border-bottom: 1px dotted black;\">" . $value .
"</td></tr>";
}
}
$message .= "</table>";
if ( mail( $to, $subject, $message, $from ) ) {
print_r( "Formulier succesvol verzonden." );
} else {
print_r( "<h1 class=\"error_header\">Het formulier kon helaas niet worden
verzonden. Neem contact op met $to</h1>" );
}
}
?>
hoe kan ik dit naar een email versturen en in het email in html weergeven...
extern vandat systeem effe
MRZ schreef op 07.01.2009 15:52:
Inderdaad, een heel systeem dat je even moet uploaden naar jouw server en klaar is kees. Vervolgens een paar regeltjes code zelf schrijven/kopieeren en het feest is compleet.Het is een hele systeem :\ is er niet simpel weg alleen een korte scripje ? :O
Uiteraad mag je de code ook zelf gaan schrijven, maar dat zal zelden tot een beter of gelijkwaardig resultaat leiden. Het voorbeeld van MRZ zal bv. niet gaan werken, in 9 van de 10 gevallen zal de email niet aankomen.
dus jouw theorie klopt voor geen meter en het werkt beter dan ik had verwacht!!!!!!!!!!!!!
Het zit hem in de headers, maar ook op php.net staat in het voorbeeld een fout waardoor hij niet werkt. Zoek gewoon even op internet alles op over headers
Code (php)
1
2
3
4
2
3
4
<?php
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
?>
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
?>
That's it 2 regeltjes ;)