Enters in Mail

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Ricolo

Ricolo

15/08/2008 14:21:00
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
12
13
14
15
16
17
18
19
20
21
<?php

$oMember
= mysql_query("SELECT email FROM gebruikers");
    while ($aMember = mysql_fetch_assoc($oMember)) {
                        
                            $tomail   = $aMember['email'];
                        $from      = "Bedrijf";
                        $frommail = "[email protected]";
                        $headers  = "MIME-Version: 1.0\r\n";
                        $headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
                        $headers .= "To: " . $aMember['email'] . " <" . $aMember['email'] . ">\r\n";
                        $headers .= "From: " . $from . " <" . $frommail . ">\r\n";
                        $message  = "Geachte Meneer/Mevrouw,\n\n".$_POST['mailing']."\n\nMet vriendelijke groet,\nBedrijf\n\nLet op, dit is geen spam, u ontvangt dit bericht omdat u bent ingeschreven op onze website met de gebruikersnaam: ".$aMember['login'].".";
                        $subject  = $_POST['titel'];
    
        if (@mail($tomail, $subject, $message, $headers))
        $iGoed++;
        else
        $iFout++;

?>


Dit is mijn script voor de nieuwsbrief, toch wordt de gehele tekst in een lange
sliert weergeven in de inbox van de ontvangers, heb het getest met clients
zoals Gmail of Hotmail, maar het is altijd een lange sliert zonder enters...?!

Wat gaat er fout?
 
PHP hulp

PHP hulp

22/11/2024 19:54:04
 
Barman V

Barman V

15/08/2008 14:26:00
Quote Anchor link
Dat komt omdat Gmail en Hotmail (zoals velen) gebruik maken van HTML emails. Je moet dus ipv \n\n gebruik maken van <br /> of <p>

Let op dat je bij het versturen van email 2 berichten aanmaakt. Dus 1 HTML bericht en 1 plain tekst bericht (voor als de mail client geen HTML berichten ondersteunt).
Deze 2 berichten verstuur je natuurlijk in 1 email (met 2 aparte headers).

Een goed mailprogramma is bijvoorbeeld phpmailer.
Gewijzigd op 01/01/1970 01:00:00 door Barman V
 
Maarten Slenter

Maarten Slenter

15/08/2008 14:31:00
Quote Anchor link
Sowieso geef jij aan dat het in html is (Content-Type: text/html), dus waarom gebruik jij dan geen html?
 
Ricolo

Ricolo

15/08/2008 14:43:00
Quote Anchor link
Klinkt inderdaad best logisch, maar hoe doe ik het dan zonder phpmailer bijvoorbeeld met die plain text en html.

Ik kan van tevoren toch niet kijken of de client van de gebruiker
HTML mails accepteert of niet?
 
--

--

15/08/2008 14:46:00
Quote Anchor link
Zet er dan iets bij van: Kunt u deze mail niet lezen? Klik hier. En dat ze dan naar de versie die op je site staat gaan. Zo zie je dat heel vaak.
 
Ricolo

Ricolo

15/08/2008 14:47:00
Quote Anchor link
Inderdaad, je hebt gelijk.

Bedankt voor jullie hulp.
 
Barman V

Barman V

15/08/2008 15:04:00
Quote Anchor link
Ricolo schreef op 15.08.2008 14:43:
Klinkt inderdaad best logisch, maar hoe doe ik het dan zonder phpmailer bijvoorbeeld met die plain text en html.

Ik kan van tevoren toch niet kijken of de client van de gebruiker
HTML mails accepteert of niet?


Je stuurt een mail met 2 headers. Hieronder een voorbeeld.
Bron: http://www.daniweb.com/forums/thread2959.html

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
<?php
$boundary
= "nextPart";

$headers = "FROM: [email protected]\r\n";
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: multipart/alternative; boundary = $boundary\r\n\r\n";
$headers .= "This is a MIME encoded message.\r\n\r\n";

//text version
$headers .= "--$boundary\n
Content-Type: text/plain; charset=ISO_8859-1\r\n
Content-Transfer_Encoding: 7bit\r\n\r\n"
;
$headers .= "This is the plain version\r\n\r\n";

// html version
$headers .= "--$boundary\r\n
Content-Type: text/html; charset=ISO_8859-1\r\n
Content-Transfer_Encoding: 7bit\r\n\r\n"
;
$headers .= "This is the <b>HTML</b> version";

mail("[email protected]", "An HTML Message", "", $headers);
?>


edit
Dus er wordt eerst geprobeerd het HTML bericht te tonen. Wordt dit niet geaccepteerd, dan wordt het plain bericht getoond.
Gewijzigd op 01/01/1970 01:00:00 door Barman V
 



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.