Nieuwsbrief met php, sql en include van nieuwsbrief
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)
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
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);
?>
##
## 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
Quote:
$body = nieuwsbrief.php ; //MAG DIT? en/of KAN DIT?
Nee, dit kan niet. Je moet wel een include() (of een soortgelijke functie) gebruiken.
Nu wordt de inhoud van nieuwsbrief.php onderdeel van jouw script.
Gewijzigd op 01/01/1970 01:00:00 door Frank -
topie ga het zeker proberen wellicht zal ik alles nog even moeten backslashen \" maar dat komt vast wel goed.
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
should be replaced by
Gewijzigd op 01/01/1970 01:00:00 door jan heide