Ik probeer op de één of andere manier een heel simpele mail te versturen vanaf een contactformulier.
Ik heb dit al zeker 50x gedaan maar nu blijkt het maar niet te lukken, terwijl ik toch praktisch zeker ben dat ik niks anders heb gedaan of normaal...
Dit is mijn code:
Als ik voor mijn Subject, Headers & To enkele quotes gebruik dan krijg ik de mail doorgestuurd maar als afzenden apache@hostbasket.com en de message ziet er zo uit:
Als ik dubbele quotes gebruik krijg ik iets heel anders als mail en dan is mijn afzender onbekend:
Kan het zijn dat die hostfirma geen HTML content toelaat? Is dit praktisch mogelijk? Of zit mijn fout ergens anders?
Ps ik had dit ook gevonden op internet:
Dat is een mis van enkele en dubbele quotes maar ook dit lukt niet...
Bedankt!
Ik heb dit al zeker 50x gedaan maar nu blijkt het maar niet te lukken, terwijl ik toch praktisch zeker ben dat ik niks anders heb gedaan of normaal...
Dit is mijn 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
37
38
| $name = filter_input(INPUT_POST, 'name', FILTER_SANITIZE_STRING); $firstname = filter_input(INPUT_POST, 'firstname', FILTER_SANITIZE_STRING); $email = filter_input(INPUT_POST, 'email', FILTER_VALIDATE_EMAIL); $info = filter_input(INPUT_POST, 'info', FILTER_SANITIZE_STRING); $message = '<html><head>'; $message .= '<title>Vraag vanaf de website</title>'; $message .= '<style type="text/css">body {background-color: #ffffff; font-family: verdana;}hr {color: #333;}div {width: 800px; margin: 25px auto;}h1 {color: #FFC421; font-size: 17px;}p {color: 2a2a2a; font-size: 15px;}</style>'; $message .= '</head>'; $message .= '<body>'; $message .= '<div>'; $message .= '<p><img src="imgs/tsc-logo.png"/></p>'; $message .= '<hr />'; $message .= '<h2 style="color: #FFC421;">Klant heeft een vraag gesteld via de website</h2>'; $message .= '<br />'; $message .= '<table style="width:800px">'; $message .= '<tr><th style="width:250px"><h1>Gegevens klant:</h1></th><td></td></tr>'; $message .= '<tr><th>Naam:</th><td>' . $name . '</td></tr>'; $message .= '<tr><th>Voornaam:</th><td>' . $firstname . '</td></tr>'; $message .= '<tr><th>E-mail:</th><td>' . $email . '</td></tr>'; $message .= '<tr><th>Bericht:</th><td>' . $info . '</td></tr>'; $message .= '</table>'; $message .= '</div>'; $message .= '</body></html>'; $to = 'iemand@telenet.be'; $subject = 'Vraag vanop de website'; $headers = 'MIME-Version: 1.0' . "\r\n"; //$headers .= 'Content-type:text/html;charset=UTF-8' . "\r\n"; $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n"; $headers .= 'From: ' . $email . "\r\n"; if (mail($to, $subject, $message, $headers)){ $_SESSION['email'] = $email; header ('Location: index.php?pagina=send'); } else { header ('Location: index.php?pagina=404'); } |
Als ik voor mijn Subject, Headers & To enkele quotes gebruik dan krijg ik de mail doorgestuurd maar als afzenden apache@hostbasket.com en de message ziet er zo uit:
code:
1
| <html><head><title>Vraag vanaf de website</title><style type="text/css">body {background-color: #ffffff; font-family: verdana;}hr {color: #333;}div {width: 800px; margin: 25px auto;}h1 {color: #FFC421; font-size: 17px;}p {color: 2a2a2a; font-size: 15px;}</style></head><body><div><p><img src="imgs/tsc-logo.png"/></p><hr /><h2 style="color: #FFC421;">Klant heeft een vraag gesteld via de website</h2><br /><table style="width:800px"><tr><th style="width:250px"><h1>Gegevens klant:</h1></th><td></td></tr><tr><th>Naam:</th><td>iemand</td></tr><tr><th>Voornaam:</th><td>anders</td></tr><tr><th>E-mail:</th><td>iemand@telenet.be</td></tr><tr><th>Bericht:</th><td>vvvrreeee</td></tr></table></div></body></html> |
Als ik dubbele quotes gebruik krijg ik iets heel anders als mail en dan is mijn afzender onbekend:
code:
1
2
3
4
5
6
7
| Content-type: text/html; charset=iso-8859-1
From: iemand@telenet.be
Message-Id: <20140620123300.CD1B2A147@apache11.hostbasket.com>
Date: Fri, 20 Jun 2014 14:33:00 +0200 (CEST)
<html><head><title>Vraag vanaf de website</title><style type="text/css">body {background-color: #ffffff; font-family: verdana;}hr {color: #333;}div {width: 800px; margin: 25px auto;}h1 {color: #FFC421; font-size: 17px;}p {color: 2a2a2a; font-size: 15px;}</style></head><body><div><p><img src="imgs/tsc-logo.png"/></p><hr /><h2 style="color: #FFC421;">Klant heeft een vraag gesteld via de website</h2><br /><table style="width:800px"><tr><th style="width:250px"><h1>Gegevens klant:</h1></th><td></td></tr><tr><th>Naam:</th><td>iemand</td></tr><tr><th>Voornaam:</th><td>anders</td></tr><tr><th>E-mail:</th><td>iemand@telenet.be</td></tr><tr><th>Bericht:</th><td>blaa</td></tr></table></div></body></html> |
Kan het zijn dat die hostfirma geen HTML content toelaat? Is dit praktisch mogelijk? Of zit mijn fout ergens anders?
Ps ik had dit ook gevonden op internet:
code:
1
2
3
4
5
| $to ='iemand@telenet.be';
$subject ='Online betaling voltooid op ' . $date . ' Door ' .$name ;
$headers = "MIME-Version: 1.0" . "\r\n";
$headers .= "Content-type:text/html;charset=UTF-8" . "\r\n";
$headers .='From: ' . $webemail; |
Dat is een mis van enkele en dubbele quotes maar ook dit lukt niet...
Bedankt!