PHP mail

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Wouter OOP

Wouter OOP

12/10/2010 15:07:55
Quote Anchor link
Goedemiddag,

Ik wil graag database gegevens versturen over de mail. Maar, dit wil ik netjes presenteren.
Het lukt mij wel een html tabel te presenteren in een mailtje, alleen krijg ik daar geen php variabelen vanuit de database in. Kan iemand mij hiervan een voorbeeld geven, of is dit onmogelijk?

Kort gezegd: een html tabel met php variabelen.

vb: <td>Naam:</td><td>$variabele</td>


Met vriendelijke groet,

Wouter
 
PHP hulp

PHP hulp

18/01/2020 11:09:10
 
- Ariën -
Beheerder

- Ariën -

12/10/2010 16:46:28
Quote Anchor link
wat lukt er niet aan, en waar loop je precies vast op, en wat heb je geprobeerd?
 
Massimo W

Massimo W

12/10/2010 20:03:01
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
<?php

$to
= "mail@voorbeeld.nl";
$subject = "onderwerp van voorbeeld berichtje";
$variabel_naampje = "Janus";

$html_bericht = "...html... <td>Naam:</td><td>".$variabel_naampje."</td>...html...";

mail($to, $subject, $html_bericht);

?>


Zoiets? eventueel headers toevoegen om niet als spam gemarkeerd te worden.
Gewijzigd op 12/10/2010 20:03:41 door Massimo W
 
Wouter OOP

Wouter OOP

13/10/2010 08:32:27
Quote Anchor link
Bedankt voor jullie reacties. Ik heb het toegepast, maar dit werkt nog niet. Ik krijg gewoon plain tekst te zien: (zie regel 51)

Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
<link rel="stylesheet" href="../opmaak.css" type="text/css">

<?php

if($_SERVER['REQUEST_METHOD'] == 'POST'){
    
    $mail_naar = $_POST['email'];
    $mail_onderwerp = 'test';
    
    $mail_headers  = 'MIME-Version: 1.0' . "\r\n";
    $mail_headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";

    
    $mail_headers = 'From:'.$_POST['naam'].'<'.$_POST['email'].'>';
    
    // Checkt of alle velden juist zijn ingevuld.
    $error= array();
    if(!ctype_print($_POST['naam']) || !preg_match('~^[a-zA-Z][a-zA-Z.\- ]{2,}$~D', $_POST['naam'])){
        $error['naam'] = 'U heeft geen geldige naam ingevuld.';
    }

    if(!ctype_print($_POST['email']) || !preg_match('~^[a-z0-9][a-z0-9_.\-]*@([a-z0-9]+\.)*[a-z0-9][a-z0-9\-]+\.([a-z]{2,6})$~iD', $_POST['email'])){
        $error['email'] = 'U heeft geen geldig emailadres ingevuld.';
    }

    // Checkt of de waarde in de array groter is dan '0'.
    if(count($error)>0){
        echo '<u>Om de volgende reden kan uw vraag helaas niet worden verwerkt:</u>';
        echo '<ul>';
            foreach($error as $msg){
                echo '<li>'. $msg .'</li>';
            }

        echo '</ul>';
        echo 'Klik op <a href="javascript:history.back(1)">terug</a> en vul alle velden in.';
    }

    else{
        
        require("../connect_db.php");

$Object = 'test';
$Datum = date('d-m-Y');
$DatumTijd = strtotime($Datum);
$DatumFormat = date('Y-m-d',$DatumTijd);

$Query = "SELECT *, CONVERT(char(14), DatumControle,105) as DatumControle2 FROM Bewakingsdiensten WHERE ControleObject = '$Object' AND DatumControle > cast('$DatumFormat' as datetime) - 1 AND DatumControle < cast('$DatumFormat' as datetime) + 1 ORDER BY DatumControle desc";

$results = mssql_query($Query);    

$rij = mssql_fetch_assoc( $results );
    
    if(mssql_num_rows($results) > 0){



$resultaten_bewakingsdiensten = "<html><table><td>ControleObject:</td><td>".$rij['ControleObject']."</td></table></html>";


    }

        
        // Hier staat alles in wat per mail verzonden moet worden.
        $mail_content = "Naam: ".$_POST['naam']."\nEmail: ".$_POST['email']."\n\n\nResultaten:\n\n".$resultaten_bewakingsdiensten;
        
        if(mail($mail_naar,$mail_onderwerp,$mail_content,$mail_headers)){
            echo 'De resultaten zijn succesvol verzonden naar '.$_POST['email'].'.';
            echo '<a href="mail_resultaten.php">Keer terug</a>';
        }

        else{
            echo 'De resultaten zijn niet verzonden, contacteer de beheerder.';
        }
    }
    
}

else{
?>


    <form action="<?php echo htmlspecialchars($_SERVER['PHP_SELF'], ENT_QUOTES); ?>" method="post">
    <fieldset>
    <legend>Met dit formulier kunt u de resultaten emailen.<br>
    <br>
    </legend>
    <table width="288">
      <tr>
        <td width="128">Uw naam</td>
        <td width="144"><input id="naam" type="text" name="naam"></td>
      </tr>
      <tr>
        <td>Uw e-mailadres</td>
        <td><input id="email" type="text" name="email"></td>
      </tr>
      <tr>
        <td>&nbsp;</td>
        <td><input type="submit" name="submit" class="submit" value="Resultaten verzenden"></td>
      </tr>
      </table>
    </fieldset>
    </form>

<?php
}

?>
Gewijzigd op 13/10/2010 09:47:45 door Bas IJzelendoorn
 
- SanThe -

- SanThe -

13/10/2010 08:40:38
Quote Anchor link
Je mailtje is ook helemaal niet html valid.

Denk ook aan email-injection.
http://phpwiki.santhe.nl/index.php/De_juiste_mailheaders
 
Wouter OOP

Wouter OOP

13/10/2010 09:03:16
Quote Anchor link
SanThe Nvt op 13/10/2010 08:40:38:
Je mailtje is ook helemaal niet html valid.

Denk ook aan email-injection.
http://phpwiki.santhe.nl/index.php/De_juiste_mailheaders


Ik dank u :)

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
    $mail_headers
= 'From:'.$_POST['naam'].'<'.$_POST['email'].'>';
    $mail_headers.= 'MIME-Version: 1.0'. PHP_EOL ;
    $mail_headers.= 'Content-type: text/html; charset=iso-8859-1'. PHP_EOL ;
?>
Gewijzigd op 13/10/2010 09:03:27 door Wouter OOP
 
- SanThe -

- SanThe -

13/10/2010 09:11:43
Quote Anchor link
De inhoud van From is niet correct. Zie de link.
 
Wouter OOP

Wouter OOP

13/10/2010 09:25:04
Quote Anchor link
SanThe Nvt op 13/10/2010 09:11:43:
De inhoud van From is niet correct. Zie de link.


$mail_headers = 'From:'.$_POST['naam'].'<'.$_POST['email'].'>'.PHP_EOL;

Zo?
 
- SanThe -

- SanThe -

13/10/2010 09:30:09
Quote Anchor link
Nee, bij de From hoort je eigen emailadres. Die van de bezoeker kan eventueel in de Reply-to.
 
Wouter OOP

Wouter OOP

13/10/2010 10:50:35
Quote Anchor link
Owja :P, heb ik aangepast naar applicatienaam en donotreply@domein.nl
 
Joakim Broden

Joakim Broden

13/10/2010 10:54:37
Quote Anchor link
SanThe Nvt op 13/10/2010 08:40:38:
Je mailtje is ook helemaal niet html valid.


Let wel op dat je heel beperkt bent in de html van een e-mail/nieuwsbrief

Zo moet het uit tabellen bestaan en niet uit divs (want float word niet ondersteund in de meeste e-mail programma's etc) paddings,margins,backgrounds etc worden ook heel slecht ondersteund vooral door outlook 2007
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.