Toon posts:

[PHP] Html in mail, met een include

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik gebruik mail(etc etc) en nu wil ik het bestand content.html als body, maar in de mail die verzonden wordt staat dus als body:

1

waarschijnlijk omdat die include true geeft. Hoe kan ik dit anders doen???

Verwijderd

Probeer es wat met fopen, of misschien in je include bestand alles in een variabele gooien en dan bij de mail() dat als bericht zetten. Vergeet niet de ISO instellingen er bij te zetten dat het om een html email gaat. Voorbeeld:

mail($emailadres,$subject,$bericht,"From: email@email.com \nContent-Type: text/html; charset=iso-8859-1\nContent-Transfer-Encoding:8bit");

Verwijderd

zoiets:
PHP:
1
2
3
4
5
6
7
<?
$fd = fopen ("content.html", "r");

$content = fread ($fd, filesize ($fd));

mail ("jantje@keesje.com", "Test e-mail", $content);
?>

een include haalt alles uit de andere pagina en neemt dat over in de pagina waar wordt geinclude. dus je kunt include niet gebruiken om de inhoud van een bestand in een variabele te stoppen.

Verwijderd

okay, jij bent eerder :) dat van de iso wist ik trouwens nog niet. weer wat geleerd

Verwijderd

Topicstarter
mail($email,"Een test",$body,"From: bladie bla
Content-Type: text/html; charset=iso-8859-1
Content-Transfer-Encoding:8bit");

Dit werkt en ik krijg de mail in html. Alleen staat er nu op de bovenste regel van mijn mail

Content-Transfer-Encoding:8bit Message-Id: <20011219195527.90375C6FB1@provider.nl> Date: Wed, 19 Dec 2001 20:55:27 +0100 (CET)

Hoe krijg ik dit weg?

  • chris
  • Registratie: September 2001
  • Laatst online: 11-03-2022
werkt het niet makkelijker met:
PHP:
1
2
3
4
<?
$file = "blaat.html";
$body = implode ($file, "");
?>

  • D2k
  • Registratie: Januari 2001
  • Laatst online: 31-08 10:19

D2k

Op woensdag 19 december 2001 20:59 schreef lisson01 het volgende:
mail($email,"Een test",$body,"From: bladie bla
Content-Type: text/html; charset=iso-8859-1
Content-Transfer-Encoding:8bit");

Dit werkt en ik krijg de mail in html. Alleen staat er nu op de bovenste regel van mijn mail

Content-Transfer-Encoding:8bit Message-Id: <20011219195527.90375C6FB1@provider.nl> Date: Wed, 19 Dec 2001 20:55:27 +0100 (CET)

Hoe krijg ik dit weg?
kijk eens in je mail (die in je profile)
ik heb een goede bui vandaag
</ot>

Doet iets met Cloud (MS/IBM)


Verwijderd

Topicstarter
Thanx voor de class

Verwijderd

Topicstarter
Allemaal te ingewikkeld. Het werkt nu, alleen wil ik nu erin bouwen dat ik twee verschillende bodys heb, eentje in html en de andere in plain text. De email client bepaald zelf wat hij moet nemen.

Hoe doe ik dit dan?

Verwijderd

1 var MET html
1 var ZONDER html
1 var MET html-headers
1 var ZONDER html-headers

en dan bak je er nog een IF statement in

Verwijderd

Topicstarter
Dat kan ja, maar de client kan die IF toch niet lezen???, dat zou alleen kunnen als ik in mijn mailing weet welke persoon wel of niet html ondersteunt en dat weet ik niet?

Verwijderd

Dan laat je de gebruiker via een radiobuttons kiezen of ze met of zonder willen en dan doe je if ($formaat == "html") blahblah

Verwijderd

Topicstarter
Dat snap ik, maar dat wil ik niet. Ik heb nu een lijst van 1000 gebruikers. Die moeten een mail krijgen, met multi part ofzo moet het kunnen maar hoe dat werk weet ik niet?

Verwijderd

Ik denk dat tegenwoordig de meeste email clients wel html ondersteunen of dan hem laten openen met een melding via een echte browser. Ik weet niet of er iets als multi-nogwat bestaat maar mij lijkt dat niet logisch. Als je geen html nodig hebt dan kan je hem beter gewoon zonder html doen of kies er voor tijdens het lid worden van de mail of je hem in html of in tekst wilt ontvangen.

Let trouwens op je plaatjes die je in html email verstuurd, deze moeten van een webserver afgehaald worden en dus niet meegezonden worden in de e-mail. Dit betekent dus dat als een lid de e-mail ontvangt en daarna zijn modem sessie afbreekt hij niet via internet de plaatjes kan laden waardoor je een X krijgt..

  • Martink
  • Registratie: Juni 2001
  • Laatst online: 14-09 13:52
Is zo leuk
er staat een voorbeeld van op php.net
kijk maar: http://download.php.net/manual/nl/function.mail.php
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
39
40
41
42
<?
/* recipients */
$to  = "Mary <mary@example.com>" . ", " ; //note the comma
$to .= "Kelly <kelly@example.com>";

/* subject */
$subject = "Birthday Reminders for August";

/* message */
$message = '
<html>
<head>
 <title>Birthday Reminders for August</title>
</head>
<body>
<p>Here are the birthdays upcoming in August!</p>
<table>
 <tr>
  <th>Person</th><th>Day</th><th>Month</th><th>Year</th>
 </tr>
 <tr>
  <td>Joe</td><td>3rd</td><td>August</td><td>1970</td>
  <td>Sally</td><td>17th</td><td>August</td><td>1973</td>
 </tr>
</table>
</body>
</html>
';

/* To send HTML mail, you can set the Content-type header. */
$headers  = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";

/* additional headers */
$headers .= "From: Birthday Reminder <birthday@example.com>\r\n";

$headers .= "Cc: birthdayarchive@example.com\r\n";
$headers .= "Bcc: birthdaycheck@example.com\r\n";

/* and now mail it */
mail($to, $subject, $message, $headers);
?>
Pagina: 1