Nieuwsbrief met php, sql en include van nieuwsbrief

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Jan heide

jan heide

13/09/2007 09:22:00
Quote Anchor link
Hoi allamaal,

Het volgende bestand heb ik van Geoff in Montreal 02-May-2007 12:07 http://be2.php.net/manual/en/ref.mail.php Echter werkt het nog niet naar behoren.

Wat ik graag wil is een extern bestand als body includen (namelijk http://www.gitaartabs.nl/nieuwsbrief/nieuwsbrief.php) kan dat?

en vervolgens de variablen #naam# en #email# toevoegen aan de nieuwsbrief. Zover ik weet is dat mogelijk via de code:
$body = str_replace("#naam#","$gebruikersnaam",$body);


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
<?
##
## Uiteraard eerst connectie maken met DB en ophalen van alle gebruikersnamen en email adressen etc etc
##



  $eol="\r\n";
  $mime_boundary=md5(time());

  $fromname = 'Gitaartabs.nl';
  $fromaddress = '[email protected]';
  $to = '[email protected]';
  $body = nieuwsbrief.php ; //MAG DIT? en/of KAN DIT?

  $body = str_replace("#naam#","$gebruikersnaam",$body);

  # Common Headers
  $headers .= "From: ".$fromname."<".$fromaddress.">".$eol;
  $headers .= "Reply-To: ".$fromname."<".$fromaddress.">".$eol;
  $headers .= "Return-Path: ".$fromname."<".$fromaddress.">".$eol;    // these two to set reply address
  $headers .= "Message-ID: <".time()."-".$fromaddress.">".$eol;
  $headers .= "X-Mailer: PHP v".phpversion().$eol;          // These two to help avoid spam-filters

  # Boundry for marking the split & Multitype Headers

  $headers .= 'MIME-Version: 1.0'.$eol;
  $headers .= "Content-Type: multipart/mixed; boundary=\"".$mime_boundary."\"".$eol.$eol;

  # Open the first part of the mail
  $msg = "--".$mime_boundary.$eol;

  $htmlalt_mime_boundary = $mime_boundary."_htmlalt"; //we must define a different MIME boundary for this section
  # Setup for text OR html -

  $msg .= "Content-Type: multipart/alternative; boundary=\"".$htmlalt_mime_boundary."\"".$eol.$eol;

  # Text Version
  $msg .= "--".$htmlalt_mime_boundary.$eol;
  $msg .= "Content-Type: text/plain; charset=iso-8859-1".$eol;
  $msg .= "Content-Transfer-Encoding: 8bit".$eol.$eol;
  $msg .= strip_tags(str_replace("<br>", "\n", substr($body, (strpos($body, "<body>")+6)))).$eol.$eol;

  # HTML Version
  $msg .= "--".$htmlalt_mime_boundary.$eol;
  $msg .= "Content-Type: text/html; charset=iso-8859-1".$eol;
  $msg .= "Content-Transfer-Encoding: 8bit".$eol.$eol;
  $msg .= $body.$eol.$eol;

  # close the html/plain text alternate portion
  $msg .= "--".$htmlalt_mime_boundary."--".$eol.$eol;

  # Finished
  $msg .= "--".$mime_boundary."--".$eol.$eol;  // finish with two eols for better security. see Injection.

  # SEND THE EMAIL

  ini_set(sendmail_from,$fromaddress);  // the INI lines are to force the From Address to be used !
  $mail_sent = mail($to, $subject, $msg, $headers);
?>


Verder (denk ik) dat dit toch wel een fantastisch script is :)
Alsvast bedankt Jan
Gewijzigd op 01/01/1970 01:00:00 door Jan heide
 
PHP hulp

PHP hulp

20/04/2024 05:21:45
 
Frank -

Frank -

13/09/2007 11:06:00
Quote Anchor link
Quote:
$body = nieuwsbrief.php ; //MAG DIT? en/of KAN DIT?

Nee, dit kan niet. Je moet wel een include() (of een soortgelijke functie) gebruiken.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<? $body = include('nieuwsbrief.php'); ?>

Nu wordt de inhoud van nieuwsbrief.php onderdeel van jouw script.
Gewijzigd op 01/01/1970 01:00:00 door Frank -
 
Jan heide

jan heide

13/09/2007 15:45:00
Quote Anchor link
hoi pgFrank,

topie ga het zeker proberen wellicht zal ik alles nog even moeten backslashen \" maar dat komt vast wel goed.
 
Jan heide

jan heide

13/09/2007 15:51:00
Quote Anchor link
ik zal echter iets vreemds doen want ik krijg alleen maar onderstaande code via de mail (inhoud) binnen. Iemand een idee wat ik (wellicht struktueel) verkeerd doe?

Hiermee alleen maar als $body = hallo meegestuurd

Content-Type: multipart/mixed; boundary="27f46e7e2963237939204a0152f5bd26"

--27f46e7e2963237939204a0152f5bd26
Content-Type: multipart/alternative; boundary="27f46e7e2963237939204a0152f5bd26_htmlalt"

--27f46e7e2963237939204a0152f5bd26_htmlalt
Content-Type: text/plain; charset=iso-8859-1
Content-Transfer-Encoding: 8bit

llo


--27f46e7e2963237939204a0152f5bd26_htmlalt
Content-Type: text/html; charset=iso-8859-1
Content-Transfer-Encoding: 8bit

<br>Hallo<br>

--27f46e7e2963237939204a0152f5bd26_htmlalt--

--27f46e7e2963237939204a0152f5bd26--

#### >> Probleem opgelost in bovenstaande script
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
  $headers
.= 'MIME-Version: 1.0'.$eol.$eol;
?>


should be replaced by
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
  $headers
.= 'MIME-Version: 1.0'.$eol;
?>
Gewijzigd op 01/01/1970 01:00:00 door jan heide
 
- SanThe -

- SanThe -

13/09/2007 15:54:00
Quote Anchor link
@jan: Niet Bumpen.
Bumpen::
Twee of meer keer achter elkaar in een topic posten heet bumpen. Bumpen is pas na 24 uur toegestaan en kan een reden zijn voor de admins en moderators om een topic te sluiten. Gebruik indien nodig deAfbeelding knop om je tekst aan te passen.
 



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.